【发布时间】:2018-02-02 13:21:44
【问题描述】:
我想用一个命令杀死程序
ps -elf | grep "common_program_name" | grep -v grep | awk '{print $2}' | xargs kill -9
但我遇到了一个错误
kill: failed to parse argument: 'S
我做错了什么?
【问题讨论】:
-
你为什么使用
awk '{print $2}'?使用您的ps,进程 ID 位于第 4 列,它适用于 $4。 -
是的,它有效,非常感谢! @Oleg
-
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地点。
-
@jww 上面的行是用 Bash 编写的,或者甚至是 Borne Shell 的子集。信不信由你,有些人在 Bash 中编程,因此,像上面这行代码这样的代码对某些人来说是一个程序。
-
@EdwinBuck,问题中的管道没有任何特定于 bash 的内容。管道在sh、csh、fish等中工作,这里使用的程序都是在shell外部的。但除此之外,这是一个XY Problem。它要求帮助实施解决方案,而不是解决根本问题。