nohupを付けても付けなくても何故か切断されない
いつもお世話になっております。
CentOSにて、端末切断後もサンプルスクリプトを継続実行できているか検証しておりました。
どちらの検証も継続して処理されてしまいました。
&だけでも継続処理されnohup不要になったのでしょうか?
nohupを付けても何かしらのシグナルを検知し、initプロセス管理下になってしまいました。
色々調べたのですが解決できなく質問させて頂きました。
ご教授ご鞭撻のほどよろしくお願い致します。
サンプルスクリプト
#!/bin/bash
i=1
while :
do
echo "$i"
sleep 1
i=`expr $i + 1`
done
サンプルスクリプト(readバージョン)
#!/bin/bash
file=/var/log/messages
while read line
do
echo $line
sleep 1
done < $file
検証1(バックグラウンドジョブのみ)
# ./test.sh > out.txt &
[1] 19363
# exit
別端末より
# ps -ef | grep -v grep | egrep -e 19363 -e 19348
root 19363 1 0 16:43 pts/0 00:00:00 /bin/bash ./test.sh ...initプロセス(1)が面倒を見た
root 19760 19363 0 16:46 pts/0 00:00:00 sleep 1
fork()観点だとinitプロセス管理化でゾンビ退治してくれる正常動作??
検証2(nohup + バックグラウンドジョブ)
# nohup ./test.sh > out.txt &
[1] 20448
# exit
別端末より
# ps -ef | grep -v grep | egrep -e 20448 -e 20410
root 20448 1 0 16:52 pts/0 00:00:00 /bin/bash ./test.sh ...nohup付けてもinitプロセス管理下
root 20799 20448 0 16:55 pts/0 00:00:00 sleep 1
環境
# cat /etc/redhat-release
CentOS release 6.8 (Final)
以上よろしくお願い致します。