用下面的代码创建了一个sample.jsh文件
while(true){}现在我运行下面的命令
jshell sample.jsh它在内部创建了两个进程,一个是jshell进程,另一个是java进程,而java进程占用了100%的cpu利用率。
如何在超时后杀死java进程?
注:以上所有步骤都将通过编程而不是手动完成,所以我可以在一段时间后杀死jshell进程,因为jshell命令是由我的代码运行的,而java进程是由jshell创建的,所以我无法通过编程来杀死它。
发布于 2020-06-15 07:17:18
虽然你没有提到你的操作系统,至少在Linux上,可能还有其他你可以使用的*nix上:
https://github.com/opsengine/cpulimit
如果您担心cpu限制的话。
否则,我认为您正在寻找一个定期杀死进程的cron作业……
发布于 2020-06-15 12:20:02
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) {}https://stackoverflow.com/questions/61462013
复制相似问题