我有类似的东西:
cd project && python manage.py runserver &
cd utilities && ./coffee_auto_compiler.py
我想要它们都关闭Ctrl-C(或者其他命令)。我该如何实现?
编辑:我尝试使用jobs -x kill
和,但似乎没有消除我需要的东西。我的意思是:kill ``jobs -p
moon 8119 0.0 0.0 7556 3008 pts/0 S 13:17 0:00 /bin/bash
moon 8120 6.8 0.4 24568 18928 pts/0 S 13:17 0:00 python manage.py runserver
jobs -p
只给我进程 8119,但我还需要关闭 8120,因为它是第一个命令打开的东西。
如果有帮助的话,这些命令实际上在 Makefile 中,我希望它同时运行两个守护进程(并以某种方式同时关闭它们)。是的,我使用的是 ubuntu,带有 bash
答案1
最简单的方法?因为我不知道你使用的是哪个发行版,所以我假设它是 ubuntu。系统>首选项>键盘快捷键。单击添加,命名,粘贴你的命令,如下所示:“command1”,“command2”,单击添加。单击新的快捷方式,设置快捷键。
如果由于某种原因该操作不起作用,请使用命令创建一个启动器,确保它能够执行您想要的操作,然后使用上述说明将启动器绑定到快捷方式。
答案2
要终止在 Korn shell (ksh) 或 Bourne-again shell (bash) 下运行的所有后台作业,请输入:
kill `jobs -p`
在 bash 中,您还可以使用以下变体:
jobs -x kill
答案3
pstree
然后使用 kill 或 pskill 终止 root 进程,这些命令可能在你的发行版中不可用
答案4
如果你将命令括在反引号中:
`cd project && python manage.py runserver` &
`cd utilities && ./coffee_auto_compiler.py` &
并以交互方式运行它bash 会话Ctrl您只需+即可杀死他们所有人C。
但是您无法在终端中使用Ctrl+ C,同时又无法终止从该终端运行的所有“反引号”命令。