小编Ree*_*ese的帖子

带有多个线程的java shutdown hook

我试图在我的ubuntu服务器上运行一个关闭钩子,但是我似乎遇到了多个线程的问题.使用基本的ShutdownHook,当我使用kill进程时,下面的代码可以正常工作kill <PID>,这意味着关闭行为被激活.

public static void main(String[] args) {
    ShutdownHook shutDown = new ShutdownHook();
    shutDown.attachShutDownHook();

    while(true){}
}
Run Code Online (Sandbox Code Playgroud)

但是这个带有附加线程的相同代码却没有

public static void main(String[] args) {
    ShutdownHook shutDown = new ShutdownHook();
    shutDown.attachShutDownHook();

    (new Thread() {
        public void run() {
            while ( true ) {}
        }
    }).start();

    while(true){}
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

class ShutdownHook {

    ShutdownHook() {
    }

    public void attachShutDownHook() {

            Runtime.getRuntime().addShutdownHook(new Thread() {
                    @Override
                    public void run() {
                            System.out.println("Shut down hook activating");
                    }
            });
            System.out.println("Shut Down Hook Attached.");

    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading shutdown-hook

8
推荐指数
1
解决办法
3204
查看次数

从UNIX关闭挂钩

我试图让我的Java程序在我的unix服务器上正常退出.我有一个jar文件,我早上通过cron工作开始.然后在晚上,当我想关闭它时,我有一个cron作业,它调用一个找到PID和调用的脚本kill -9 <PID>.但是,当我以这种方式终止时,似乎没有激活我的关闭挂钩.我也试过kill <PID>(没有-9)我也遇到了同样的问题.如何确保调用关闭挂钩?或者,也许每天都有更好的方法来杀死我的进程.

class ShutdownHook {

    ShutdownHook() {}

    public void attachShutDownHook() {

        Runtime.getRuntime().addShutdownHook(new Thread() {
        @Override
        public void run() {
                System.out.println("Shut down hook activating");
         }
        });
        System.out.println("Shut Down Hook Attached.");
    }   
}
Run Code Online (Sandbox Code Playgroud)

java unix shutdown-hook

5
推荐指数
1
解决办法
3673
查看次数

如何设置 cron 作业来启动和停止 java jar?

我已将我的 JAVA 代码编译成一个 jar 文件,该文件已移植到我的 ubuntu 服务器。我可以使用通常的方式手动启动它,java -jar myJar.jar但我希望我的程序仅活动 8 小时。如何将我的 jar 文件设置为一个从上午 9 点开始并在下午 5 点自动关闭的进程?

java cron

4
推荐指数
1
解决办法
2418
查看次数

标签 统计

java ×3

shutdown-hook ×2

cron ×1

multithreading ×1

unix ×1