有没有办法加入在启动时使用 /etc/rc.local 运行的进程的交互式会话,或者在重新启动/关闭时通过 STDIN 发送“停止”并等待其结束后再关闭?
答案1
正如评论中所解释的,您需要以某种方式“保存”进程的标准输入。默认情况下,根据 init 系统,这可能是控制台,或者/dev/null
.为了能够附加到进程,请使用屏幕多路复用器,例如屏幕或者多路复用器。也可以看看如何否认正在运行的进程并将其关联到新的屏幕外壳?
在 中/etc/rc.local
,运行类似的东西
screen -S mydaemon -md /usr/local/bin/mydaemon --some-option
要以交互方式附加到程序,您可以运行
screen -S mydaemon -rd
自动将击键发送到程序(请参阅将文本输入发送到分离的屏幕):
screen -S mydaemon -p 0 -X stuff 'bye^M'