如何在 bash 中将密钥绑定到 sigkill ?

发布于 2024-07-09 04:32:45 字数 258 浏览 12 评论 0原文

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

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

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

I'm developing my application (on Linux) and sadly it sometimes hangs. I can use Ctrl+C to send sigint, but my program is ignoring sigint because it's too far gone. So I have to do the process-killing-dance:

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

Is there a way to configure bash to send the kill signal to the current process when I press - say - Ctrl+Shift+C?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

对你而言 2024-07-16 04:32:45

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

SIGQUIT 会代替吗? 如果您没有注意到这一点,则默认情况是核心转储进程。 默认情况下这是 ^\。 您可以通过

$ stty -a

在终端中运行:来查看这一点。 应该说:

quit = ^\

I don't think there is any key you can use to send a SIGKILL.

Will SIGQUIT do instead? If you are not catching that, the default is to core dump the process. By default this is ^\. You can see this by running:

$ stty -a

in a terminal. It should say:

quit = ^\
流年已逝 2024-07-16 04:32:45

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

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

$ kill %%

You can send a SIGQUIT signal to the current foreground process by pressing ^\ (by default, you can run stty -a to see the current value for quit.)

You can also kill the last backgrounded process from the shell by running

$ kill %%
洋洋洒洒 2024-07-16 04:32:45

鉴于 SIGKILL 没有绑定键,如果 SIGQUIT 不能为您减少输入,您可以做的是创建一个别名来节省一些输入。 首先,

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

可以总结这种舞蹈(如果您想终止的进程只有一个实例),就好像

Ctrl+Z
$ pkill -9 process_name

您的用例总是先挂起然后终止,您可以创建一个别名来终止最后一个实例流程就像

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

在 ~/.bash_profile 中添加该别名一样运行。

Given that there's no bound key for SIGKILL, what you can do is to create an alias to save some typing, if SIGQUIT doesn't cut it for you. First, the

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

dance can be summarized (if there's only one instance of the process that you want to kill) as

Ctrl+Z
$ pkill -9 process_name

if your use case always goes to suspend then kill, you can create an alias to kill the last process ran like

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

Add that alias in your ~/.bash_profile.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文