我有一个终端命令,如下所示。
instruments -t Activity -D /Users/admin/Desktop/woah.trace -w 878dbd88101f2db8d85ddc8e7ecbc68e45e9f9e7
此命令无限期执行,收集仪器数据,终止执行终端的方法是按 CTRL + Z 。
我可以使用进程(Runtime.getRuntime().exec(command);
)通过Java运行我的命令,它运行正常。
我只是不知道如何停止执行。在Java中有替换 CTRL + Z 的特殊参数吗?
由于
答案 0 :(得分:2)
是否有一个特殊的参数来替换Java中的CTRL + Z?
没有。
C-z在终端中的作用是将SIGTSTP发送到当前进程;但是Java对kill(2)
没有约束力。
您必须发送此信号的唯一选择是找到对ncurses的本机绑定并发送控制字符...
答案 1 :(得分:0)
您可以将 CTRL + C 与以下代码一起使用:
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
//code to kill java application
}
});