我的任务是启动一个分离的screen
会话(例如,当系统重新启动时),然后能够连接到它并中断/终止正在运行的进程,而无需终止屏幕。不幸的是,当我附加到screen
会话并停止正在运行的命令时,整个screen
会话将终止:
[screen is terminating]
Run Code Online (Sandbox Code Playgroud)
我使用以下命令来启动分离screen
:
screen -dm -S screen_name /bin/bash -c 'cd ~/mydir; npm start'
Run Code Online (Sandbox Code Playgroud)
然后我使用以下方法附加到screen
会话:
screen -r session_name
Run Code Online (Sandbox Code Playgroud)
如果我Ctrl-C
,npm
命令bash
将退出并且屏幕将终止。
我想要的是在连接到屏幕时实现类似的行为,就像我手动启动会话npm
内部一样screen
:
screen -S session_name
Run Code Online (Sandbox Code Playgroud)
然后在screen
会话中:
cd ~/mydir
npm start
Run Code Online (Sandbox Code Playgroud)
然后我可以在会话不终止的情况下执行Ctrl-C
命令。npm
screen