11

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

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

当我按下 - 说 - 时,有没有办法配置 bash 将终止信号发送到当前进程Ctrl+Shift+C

4

3 回答 3

9

我认为没有任何密钥可以用来发送 SIGKILL。

SIGQUIT 会代替吗?如果你没有发现,默认是核心转储进程。默认情况下这是 ^\。你可以通过运行看到这一点:

$ stty -a

在一个终端。它应该说:

quit = ^\
于 2008-12-04T08:42:26.907 回答
7

您可以通过按 ^\ 向当前前台进程发送 SIGQUIT 信号(默认情况下,您可以运行stty -a以查看 的当前值quit。)

您还可以通过运行从 shell 中终止最后一个后台进程

$ kill %%
于 2008-12-04T08:49:32.010 回答
2

鉴于 SIGKILL 没有绑定键,您可以做的是创建一个别名来保存一些输入,如果 SIGQUIT 没有为您删除它。首先,

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

dance 可以总结为(如果只有一个你想杀死的进程实例)为

Ctrl+Z
$ pkill -9 process_name

如果您的用例总是挂起然后杀死,您可以创建一个别名来杀死最后一个运行的进程

$alias pks="pkill -9 !!:0"

在 ~/.bash_profile 中添加该别名。

于 2008-12-04T08:35:32.227 回答