sshを抜けてもバックグランドプロセスを死なないようにする
sshを終了した時、子プロセスがいたらHUPシグナルが投げられてその子プロセスは死んでしまう。
サーバでの作業だと普通は仮想端末マネージャ上で実行するけど、適当なスクリプトを書いていてsshを抜けても死なないで欲しいことがさっき起きた。
nohup bash -c "sleep 10; touch sleeped" >/dev/null 2>/dev/null &
もしくは
cmd=$(cat << EOH
sleep 3
echo sleeped
EOH
)
nohup bash <<< "$cmd" >/dev/null 2>/dev/null &
ヒアストリング便利。
-
category:
- shell script