/etc/rc.localを使用して起動時に実行中のプロセスの対話型セッションに参加するか、再起動/終了時にSTDINを介して「停止」を送信して終了する前に完了するのを待つ方法はありますか?
答え1
コメントに記載されているように、プロセスの標準入力を何らかの形で「保存」する必要があります。デフォルトでは、初期化システムによってはコンソールでも、/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'