プログラムがSIGKILLとSIGSTOPを処理または無視することを許可されず、すぐに終了する必要がある場合、カーネルがプログラムにシグナルを送信するのはなぜですか?カーネルが単にCPUとメモリからプログラムを削除することはできませんか?私はカーネルがこれを直接する能力を持っていると思います。
ベストアンサー1
終了したプロセスのユーザースペース部分はSIGKILL
これについて全く知りません。カーネルがすべてを処理する。 (これは、一時ファイル、共有メモリの割り当て、終了したプロセスに代わって、他のプロセス(Xサーバーなど)が保持するリソースなど、一部のリソースが漏洩する可能性があることを意味します。)
ただし、他のプロセスが終了したプロセスがどのように終了したかを知るために、シグナルは依然として転送されなければなりません。親、使用wait
終了したプロセスが終了したという情報が得られますSIGKILL
。