0

Serversoftware Bukkit のプラグインを再起動する作業を行っています。そのため、正しい引数をチェックしてから Bukkit を起動するメイン関数を追加しました。しかし、Bukkit を起動する前に、Bukkit がシャットダウンするのを待ってから再度起動する必要があります。タイムアウトを追加できることはわかっていますが、もっと良い方法があることを願っています。それで、誰もそれを行う方法を知っていますか?

4

2 に答える 2

0

複数のJavaプロセスを開始すると、それらはすべて同じ識別子を持っているように見えますが、これが問題のようです。プロセスを「差別化」することはあなたの問題であり、それらを殺すことではありません。

そのため、プログラムでプロセスを自分で作成して、プロセスに使用される PID を確認することができます。その後、それを殺すのは非常に簡単です: http://blog.igorminar.com/2007/03/how-java-application-can-discover-its.html

もう 1 つのアイデアは、JPS を使用してすべての Java プロセスに関する情報を取得することです。ここでは、単純な sudo アルゴリズムについて説明します

少しでもお役に立てれば幸いです..

于 2012-08-04T17:50:58.477 に答える
0

1 つの方法は、OS を確認し、その特定のプラットフォーム (例: LinuxおよびWindowsSystem.getProperty("os.name"); )のアドホック コマンドを実行することです。

于 2012-08-01T22:43:43.580 に答える