私はYocto Linuxと標準構成のIntel Edisonを持っています。 nohupはプリインストールされており(ソースでコンパイルして)、screenとtmuxをインストールできました。今、いくつかのプロセスを実行し、接続が失われたときに実行し続けたいと思います。私は以下を試しました:
- 画面を使用したプログラムの実行、分離、ログアウト、ログイン、実行
screen -r
- tmuxを使用したプログラムの実行、分離、ログアウト、ログイン、実行
tmux attach
- プログラムの実行
nohup python myscript.py &
screenとtmuxを使用すると、接続を切断せずにセッションを正常に再開できます。ただし、screenとtmuxの接続を解除すると、復元するセッション/画面がないことを示すメッセージが表示されます。 nohupで実行しているときにログアウトしてから再度ログインすると、プロセスは終了します(topを実行すると表示されません)。
何が起こりますか?私はこれを本当に理解していません。
答え1
mhahnは、sshを離れると、現在のすべてのcgroupプロセスを終了するバグがYocto sshdにあると言いました。このバグに対する簡単な修正があります(まだEdisonバージョンにはありません):poky - Pokyビルドツールとメタデータ、シンプル:
echo "KillMode=process" >> /lib/systemd/system/[email protected]
https://communities.intel.com/thread/57402?start=15&tstart=0