你好,我正在寻找一种方法来从bash终端杀死浏览器的选项卡(没有预先定义的进程),通过名称不是pid,我想从最新的命令删除它们最老的。我试图如何杀死bash从最新到最旧的进程
pkill的-f -n -9
和浏览器的名称,但它不会杀死他们。我无法使用killall,因为我想在每个过程的每次杀戮之间短暂的睡眠。有什么建议么?
你好,我正在寻找一种方法来从bash终端杀死浏览器的选项卡(没有预先定义的进程),通过名称不是pid,我想从最新的命令删除它们最老的。我试图如何杀死bash从最新到最旧的进程
pkill的-f -n -9
和浏览器的名称,但它不会杀死他们。我无法使用killall,因为我想在每个过程的每次杀戮之间短暂的睡眠。有什么建议么?
while [[ $(pgrep -c "chromium") != 0 ]]
do
pkill -n -9 "chromium"
sleep 1
done
只要铬流程正在运行,就会循环。它在每次击杀之间等待1秒。另外bash命令是空间敏感的;-)。始终保持括号和比较运算符的空格。
在此之后 >而[[$(p纤ep -c “$铬”)= 0]!]。 做 pkill的-9 -n “$铬” 睡眠1 做 报告说,3个错误条件二进制运算符预期,语法错误附近!= 0' ,而[[$(p纤ep -c “$铬”)! = 0]];' – ihavename 2014-10-21 22:02:57
你忘了'!='后面的空格,也不要在文字过程名上使用'$'。 '$'仅用于变量:-)我将编辑我的答案以更适合您的用例。 – thom 2014-10-21 22:25:15
谢谢你的作品!但仍然到最后一个标签说pkill:杀死PID 20822失败:操作不允许,任何想法?即使非常感谢你:D – ihavename 2014-10-21 22:34:35
你怎么能知道哪些pid是最古老的 – exussum 2014-10-21 21:41:59
-n开关自动地选择最新的:-) – thom 2014-10-21 21:43:31