1

Linux 3.0でシステムコールを作成しています。(待機キューを使用して)イベントが発生するのを待っている間に、保留中のSIGKILLを確認し、発生した場合は、currentタスクがすぐに終了するようにします。可能。私が知る限り、システムコールから戻るとすぐに(実際には、プロセスがユーザーモードに入るとすぐに)、カーネルは保留中のシグナルをチェックし、SIGKILLを確認すると、カーネルは強制終了しますcurrentユーザーモードに戻る前。

質問:SIGKILLがどのように機能するかについて、上記の仮定は正しいですか?私の他のオプションは、致命的なSIGKILLが保留中であることを確認することです。システムコールから戻る代わりに、を実行するだけdo_exit()です。他のLinuxのユースケースと可能な限り一貫性を保ちたいと思います...そして、syscallから戻るだけで、他のコードが行うように見えます。SIGKILLがタスクを強制終了する方法に関する上記の仮定が正しいことを確認したいだけです。

4

1 に答える 1

1

はい、システムコールの終了後に信号チェックが行われます。

たとえばret_from_sys_call、を参照してくださいarch/x86/kernel/entry_64.S

于 2012-08-31T11:10:58.887 に答える