Dan*_*aft 9 linux bash sigkill
我正在开发我的应用程序(在Linux上),遗憾的是它有时会挂起.我可以Ctrl+C用来发送sigint,但我的程序忽略了sigint,因为它太过分了.所以我必须做过程杀死舞蹈:
Ctrl+Z
$ ps aux | grep process_name
$ kill -9 pid
Run Code Online (Sandbox Code Playgroud)
有没有办法配置bash在我按下时将kill信号发送到当前进程 - 比如说Ctrl+Shift+C?
我认为没有任何密钥可用于发送SIGKILL.
SIGQUIT会改为做吗?如果你没有抓住它,默认是核心转储进程.默认情况下,这是^ \.你可以通过运行来看到这个:
$ stty -a
Run Code Online (Sandbox Code Playgroud)
在一个终端.它应该说:
quit = ^\
Run Code Online (Sandbox Code Playgroud)
您可以通过按 ^\ 向当前前台进程发送 SIGQUIT 信号(默认情况下,您可以运行stty -a以查看 的当前值quit。)
您还可以通过运行从 shell 杀死最后一个后台进程
$ kill %%
Run Code Online (Sandbox Code Playgroud)
鉴于 SIGKILL 没有绑定键,如果 SIGQUIT 不能为您解决问题,您可以创建一个别名来节省一些输入。首先,
Ctrl+Z
$ ps aux | grep process_name
$ kill -9 pid
Run Code Online (Sandbox Code Playgroud)
dance 可以总结为(如果您想要终止的进程只有一个实例):
Ctrl+Z
$ pkill -9 process_name
Run Code Online (Sandbox Code Playgroud)
如果您的用例总是先挂起然后终止,您可以创建一个别名来终止最后运行的进程,例如
$alias pks="pkill -9 !!:0"
Run Code Online (Sandbox Code Playgroud)
在 ~/.bash_profile 中添加该别名。
| 归档时间: |
|
| 查看次数: |
8919 次 |
| 最近记录: |