繁体   English   中英

java JShell 杀死 java 进程

[英]java JShell kill java process

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

while(true){}

现在我在命令下运行

jshell sample.jsh

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

超时后如何杀死 java 进程?

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

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

https://github.com/opsengine/cpulimit

如果您担心 CPU 限制。

否则,我认为您正在寻找一项定期终止进程的cron作业...

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) {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM