0

私は2つのプログラムを持っています(私が書いたものです)。「MAN」と呼ばれる最初のものは、何らかの方法で終了するまでバックグラウンドで実行されるプロセスである「D」(2 番目のもの) を呼び出します。

D を終了せずに MAN を終了したいと思います。

ctrl + c を使用して MAN を終了しようとすると、man が正しく終了します (sigint 信号を傍受しました)。D を実行し続けたいのですが、MAN が CTRL + C を受け取ると、D もそれを受け取ります。

この状況をどのように処理しますか?D のみを実行し、CTRL + C で終了する可能性を維持したいことが重要です。MAN を介して実行すると問題が発生します。MAN のみに到達する必要がある CTRL + C で終了したくありません。

なにか提案を?

4

1 に答える 1

5

子プロセス (D) は、 を呼び出して、制御端末から関連付けを解除する必要がありsetsid(2)ます。

于 2011-11-08T17:12:53.113 に答える