我正在开发我的应用程序(在Linux上),遗憾的是它有时会挂起。我可以使用Ctrl+C
发送sigint,但我的程序忽略了sigint,因为它太过分了。所以我必须做过程杀戮舞蹈:
Ctrl+Z
$ ps aux | grep process_name
$ kill -9 pid
有没有办法配置bash在我按下时发送kill信号到当前进程 - 比如说Ctrl+Shift+C
?
答案 0 :(得分:6)
我认为没有任何密钥可用于发送SIGKILL。
SIGQUIT会这么做吗?如果你没有抓住它,默认是核心转储进程。默认情况下,这是^ \。你可以通过运行来看到这个:
$ stty -a
在终端。它应该说:
quit = ^\
答案 1 :(得分:4)
您可以通过按^来向当前前台进程发送SIGQUIT信号(默认情况下,您可以运行stty -a
查看quit
的当前值。)
您还可以通过运行
从shell中删除最后一个后台进程$ kill %%
答案 2 :(得分:2)
鉴于SIGKILL没有绑定键,你可以做的是创建一个别名来保存一些输入,如果SIGQUIT没有为你剪切它。首先,
Ctrl+Z
$ ps aux | grep process_name
$ kill -9 pid
舞蹈可以概括为(如果只有一个你要杀死的过程的实例)
Ctrl+Z
$ pkill -9 process_name
如果你的用例总是挂起然后kill,你可以创建一个别名来杀死最后一个进程,如
$alias pks="pkill -9 !!:0"
在〜/ .bash_profile中添加该别名。