buf*_*kit 2 parallel-processing shell gnu-screen wait
我正在为一些长时间运行的进程编写一个shell脚本.首先,我需要在屏幕会话管理器中运行所有命令,以便在用户断开连接时,进程的执行不会结束.稍后我需要等待之前创建的一些后台进程结束,以便可以启动以下进程.
我的问题是如何在shell脚本中启动屏幕会话并等待后台进程结束.
谷歌搜索"脚本屏幕" 将此作为第一个结果.看起来您可以创建命名的屏幕会话screen -d -m -S nameOfSession
.然后screen -X -S <session name> screen
将在屏幕会话'nameOfSession'中创建一个窗口.您可以使用此窗口1进行通信(即,为此屏幕会话窗口1提供命令)
screen -X -S test -p 1 stuff "your command here ^M"
Run Code Online (Sandbox Code Playgroud)
"your_command_here"是您要运行的命令.的^M
是回车控制字符(你按下Ctrl-V然后输入一个终端/返回).^ M将基本上"按返回/输入",以便在此屏幕会话中运行命令.玩弄它.
由于您要等待命令完成,我建议通过&符号分配进程:
your_command &
紧接着,分叉进程的进程ID在$!中.您可以等待所有后台进程通过运行完成运行wait
.
我建议屏幕参考.
归档时间: |
|
查看次数: |
2396 次 |
最近记录: |