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 次 |
最近记录: |