首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不同的执行时间杀死多个进程?

如何在不同的执行时间杀死多个进程?
EN

Stack Overflow用户
提问于 2011-03-23 18:13:16
回答 2查看 100关注 0票数 0

我有一个简单的bash脚本:

(睡眠5;回声A;睡眠100 )&

(睡眠7;回声'B';睡眠100 )&

我想杀死这两个进程后的第二个进程打印'B‘和couse第一个进程打印'A’。(可能不是回声-可能是第一次睡觉后的其他标签。)怎么做?

EN

回答 2

Stack Overflow用户

发布于 2011-03-23 18:27:43

可能是这样的

代码语言:javascript
复制
( sleep 5; echo 'A'; sleep 100 ) &
export Last=$!
( sleep 7; echo 'B'; kill-9 $Last; sleep 100 ) &
票数 0
EN

Stack Overflow用户

发布于 2011-03-23 19:15:56

试试这个:

代码语言:javascript
复制
jobs -p | xargs kill

jobs -p从这个shell窗口打印所有后台作业的进程ID。

xargs将它在stdin上读取的内容传递给您提供的程序。

kill向您给出的每个进程ID发送SIGTERM

但是,请注意,这将杀死从这个shell开始的所有后台作业,而不仅仅是最后两个。

如果您知道您想杀死最近刚开始的X作业,请使用以下命令:

代码语言:javascript
复制
jobs -p | tail -n [number of jobs] | xargs kill
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5409719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档