野上@JOです。
かわむらさん、感謝です。
> さて、やりたいことはexitしたときに、& の場合は終了して、nohup の場合は
> 継続して欲しいと言うことだと思います。
ごめんなさい、私としては、別にどちらでもよいのですが、プロセスの起動停止に関する
重要な動作が、バラバラであって欲しくないという願いだけなのです。
実は、system("nohup myproc &"); のようなコードを組み込んだプログラムを、異なる
UNIX上に移植してきて、今回Linux上でこの問題に突き当たったという次第なのです。
だから、zshのように私の期待通りの動きをするシェルもあれば、他の多くのシェルはそうで
ない、という事が判っただけで十分です。
当分、すべての可能性を考えて、従来通り、nohupから起動する事に徹するつもりです。
要は、シェル上の動作として、
1.親が終了時、あるいは、自分の親からのシグナルを受けた時、子プロセスに対して
どう処理するか。
2.子プロセスは、親からのシグナルをどう処理するか。
の問題ですね。
> bashの場合
> shopt -s huponexit
> の設定をしておけば、所望の動作をすると思います。
知りませんでした、この情報。ありがとうございます。
このMLの過去ログにもあったのですね。
野上@JO