【问题标题】:java JShell kill java processjava JShell杀死java进程
【发布时间】:2020-06-15 12:20:01
【问题描述】:

使用以下代码创建了一个sample.jsh 文件

while(true){}

现在我在命令下面运行

jshell sample.jsh

它在内部创建了 2 个进程,一个是 jshell 进程,另一个是 java 进程,java 进程占用 100% cpu 利用率。

超时后如何杀死java进程?

注意:以上所有步骤都将通过编程而不是手动完成,所以我可以在一段时间后杀死 jshell 进程,因为 jshell 命令由我的代码运行,但 java 进程由 jshell 创建,所以我无法以编程方式杀死。

【问题讨论】:

标签: java jshell


【解决方案1】:

虽然您没有提及您的操作系统,但至少在 Linux 和其他 *nix 上您可以使用:

https://github.com/opsengine/cpulimit

如果您担心 CPU 限制。

否则,我认为您正在查看 cron 工作以定期终止进程...

【讨论】:

    【解决方案2】:
    Thread selfdestruct = new Thread() {
        private long startTime = System.currentTimeMillis();
        public void run() {
            while(true) {
                // Set time here
                if(System.currentTimeMillis() - startTime > 1000) {
                    System.exit(0);
                }
                yield();
            }
        }
    };
    selfdestruct.start();
    
    // your actual payload goes here
    while(true) {}
    

    【讨论】:

      猜你喜欢
      • 2011-09-15
      • 2021-01-19
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 2020-03-02
      相关资源
      最近更新 更多