【问题标题】:I want to kill ,all the running process with name folder=work14 through pid我想通过pid杀死所有名为folder = work14的正在运行的进程
【发布时间】:2020-07-29 12:21:23
【问题描述】:

sudo kill -15 ps aux | grep "folder=work14 stdbuf"| grep -v grep|awk '{print $2}' |tr "\n" " "

但这上面给了我错误

kill:解析参数失败:'28769 28781 28790 28802'

【问题讨论】:

  • 你不能只用killall
  • 当只有一个 pid 存在时它对我有用,当多个 pid 它给我错误 kill: failed to parse argument: '28769 28781 28790 28802' @kaylum
  • killall 是与kill 不同的命令。阅读链接的手册页。

标签: linux bash shell ubuntu


【解决方案1】:

使用xArgs 将所有的pid 转发kill 命令:

sudo ps -A | grep "folder=work14 stdbuf" | awk '{print $1}' | xargs kill -15 $1

欲了解更多信息,请查看:How to kill all proccess with a given name


正如@kaylum 建议的那样,如果所有进程都具有相同的名称,则使用killall 将是一个更简洁的解决方案

【讨论】:

  • kill 只接受一个要杀死的 pid 这是不正确的,请从你的答案中删除它
  • kill -9 pid1 pid2 pid3 怎么样
  • 抱歉,表述不正确,我的意思是如果没有空格分隔,kill 将无法理解多个 pid,例如:kill -9 'pid1 pid2 pid3' 不会工作,但 kill -9 pid1 pid2 pid3 会工作!
  • @maddy "不工作" 你能详细说明一下吗?在我的机器上工作...
  • @0stone0 im runnign script someting like that " sudo PYTHON_ENV=dev folder=work14 stdbuf -oL python xyzzzz.py " 所以 ` ps -A ` 不适合我
猜你喜欢
  • 1970-01-01
  • 2020-03-02
  • 2014-11-24
  • 2021-11-29
  • 2015-12-31
  • 2018-02-28
  • 2010-12-23
  • 2017-08-04
  • 2020-01-07
相关资源
最近更新 更多