如何关闭java应用程序?

时间:2018-04-11 20:33:44

标签: java jvm shutdown

我正在编写Java应用程序,我希望它可以从外部关闭(我的意思是bash脚本,或python,或其他)。

但是简单地杀死应用程序并不合适。这是因为我有许多正在运行的线程,其中一些正在执行I/O并且查杀可能导致写入数据处于不一致状态。所以我想要某种优雅的关闭。我发现的是:

import sun.misc.Signal;
import sun.misc.SignalHandler;

Signal.handle(new Signal("KILL"), new SignalHandler() {
        public void handle(Signal sig) {
            //Interrupt all threads and shutdown all services gracefully
        }
    });

但这是来自sun.misc包,不是公共API。有没有更合适的方法来优雅地关闭Java应用程序?

0 个答案:

没有答案