2012-05-04 16 views
1

java.lang.Processにはdestroy()というメソッドがあります。文書によると、Javaで子プロセスに信号を送るには?

このProcessオブジェクトが表すサブプロセスは強制終了されています。

destroy()が呼び出されたときにどの信号が送信されるのか知りたいですか?

私はLinuxを使用しています。

答えて

1

グーグルでは、SIGTERMが使用されていることがわかります。私はこれのための参照を見つけることができませんでしたが、それは妥当と思われます。

+0

実験ではこの疑問が明確になると思います。ありがとう。 – qiuxiafei

3

「破壊が呼び出されると、どの信号が送信されますか?」と仮定しています。実際のシステムコールを参照しています。 (あなたの主な質問についてはまだ確認することはできません)

ProcessBuilderのOpenJDK実装ソースをすばやく掘り下げた後、実際の呼び出しがネイティブのcalになることがわかりました!当たり前なし:適切な方法からネイティブソースを確認した後、P)

  • のWindows:のTerminateProcess((HANDLE)を扱う、1);
  • UNIX:kill(pid、SIGTERM);

希望に役立ちます!

関連する問題