2

java.lang.Process には destroy() というメソッドがあります。ドキュメントには次のように書かれていました。

この Process オブジェクトによって表されるサブプロセスは強制的に終了されます。

destroy() が呼び出されたときに送信されるシグナルを知りたいですか?

Linux を使用しています。

4

2 に答える 2

3

「destroy が呼び出されたときにどのシグナルが送信されるか」を想定しています。実際のシステムコールを参照しています。(確認をお願いするために、まだあなたの主な質問にコメントすることはできません)

ProcessBuilder の OpenJDK 実装ソースをすばやく掘り下げた後、実際の呼び出しが最終的にネイティブの cal.. (当たり前じゃない! :p) であることがわかりました。

適切な方法でネイティブ ソースを確認した後:

  • Windows: TerminateProcess((HANDLE) ハンドル, 1);
  • UNIX: kill(pid, SIGTERM);

それが役立つことを願っています!

于 2012-05-04T10:04:12.290 に答える
1

グーグルから、SIGTERMが使用されていることが示唆されています。これについての参照は見つかりませんでしたが、妥当なようです。

于 2012-05-04T09:57:10.397 に答える