Roc*_*uts 3 session bash scripts gnu-screen background-process
我正在尝试编写一个脚本来:
screen会话我一直在尝试各种组合用的screen -X program或screen -S somename后面program接着screen -D,相结合-d或者-m我相关的问题和答案,但没有找到工作的选项。
我能得到的最接近的是这个:
screen -S MySessionName -d -m myprogram
Run Code Online (Sandbox Code Playgroud)
这会在后台启动一个新的屏幕会话,运行myprogram. 除了一旦myprogram完成(有时是立即)屏幕会话终止,而我想保持它运行。
方法一
我在我的机器上创建了您在此处描述的演示设置。我也遇到了你报告的问题。但是添加一小行script解决了我的问题。
我在末尾添加了以下行 myprogram
exec $SHELL
Run Code Online (Sandbox Code Playgroud)
脚本完成后,Bash 进程将用新的自身调用替换自身。
方法二
或者您可以尝试以下方法,在该方法中我们首先启动detached screen并使用以下命令将命令发送到该屏幕stuff
为此,您首先需要启动一个分离的屏幕。
screen -dmS MySessionName
Run Code Online (Sandbox Code Playgroud)
然后将脚本发送到该屏幕。
screen -S MySessionName -p 0 -X stuff 'myprogram\n'
Run Code Online (Sandbox Code Playgroud)
这也对我有用。
| 归档时间: |
|
| 查看次数: |
10123 次 |
| 最近记录: |