如何关闭unix中的所有后台进程?

如何关闭unix中的所有后台进程?

我有类似的东西:

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,同时又无法终止从该终端运行的所有“反引号”命令。

相关内容