3

setsid()プロセスをデーモン化するときに呼び出さないことの危険性は何ですか?

4

1 に答える 1

6

ユーザーがセッションからログアウトすると、そのセッションに関連付けられているすべてのプロセスが強制終了されます。デーモンであるプロセスの場合、これが発生することは望ましくありません。解決策は、setsid を呼び出すことです。デーモンがまだプロセス グループ リーダーではない場合 (上記で実行された fork に従っていない場合)、これは次のようになります。

  1. デーモンをセッション リーダーとして使用し、制御端末を使用せずに、新しいセッションを開始します。
  2. デーモンをプロセスグループリーダーとして、新しいプロセスグループを開始します。

ここから

したがって、基本的に、新しいセッション ID を指定しないと、意図せずに強制終了される可能性があります。

于 2013-05-19T19:34:53.467 に答える