如何在bash中将键绑定到sigkill?

时间:2008-12-04 08:25:54

标签: linux bash sigkill

我正在开发我的应用程序(在Linux上),遗憾的是它有时会挂起。我可以使用Ctrl+C发送sigint,但我的程序忽略了sigint,因为它太过分了。所以我必须做过程杀戮舞蹈:

Ctrl+Z
$ ps aux | grep process_name
$ kill -9 pid

有没有办法配置bash在我按下时发送kill信号到当前进程 - 比如说Ctrl+Shift+C

3 个答案:

答案 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中添加该别名。