UNIX/Linux:在当前的Shell会话下杀死我的所有工作

时间:2020-01-09 10:42:03  来源:igfitidea点击:

在注销之前,如何杀死在当前登录shell(例如Bash或者KSH)下创建的所有UNIX作业?
可以使用job命令列出所有在后台或者挂起模式下运行的作业。
打开命令行终端(选择应用程序>附件>终端),然后执行以下内容以检查当前作业列表:

$ jobs

输出示例:

[1]-  Running                 ping google.com > /dev/null &
[2]+  Stopped                 ftp ftp.freebsd.org
[3]-  Running                 rsync -ar [email protected]:/backup/tree/ ~/.tree/ >/dev/null &

要列出其PID,请执行:

$ jobs -p

输出示例:

6020
6021
6023

要杀死在ksh或者bash shell下运行的所有作业,请执行:

$ kill `jobs -p`

或者

$ kill $(jobs -p)

您还可以使用pid杀死单个作业。
例如,按如下所示杀死具有PID 6021的ftp ftp.freebsd.org作业:

$ kill -9 6021

输出示例(按[Enter]键进行处理):

[2]+  Killed                  ftp ftp.freebsd.org