如何杀死名称有空格的进程?

Usm*_*man 9 linux kill process

name=example 的进程可以被杀死

killall -9 示例

如何杀死以下包含空格的命令的多个实例?

“valgrind --tool=lackey ./testcases/kernel/syscalls/waitpid/waitpid03”

以下命令返回valgrind --tool=lackey ./testcases/kernel/syscalls/waitpid/waitpid03: No such file or directory

killall -9 "valgrind --tool=lackey ./testcases/kernel/syscalls/waitpid/waitpid03"

Gil*_*il' 9

killall valgrindvalgrind无论参数如何,都将终止所有进程。如果您只想杀死命令行恰好为 的进程,则valgrind --tool=lackey ./testcases/kernel/syscalls/waitpid/waitpid03可以使用pkill

pkill -xf 'valgrind --tool=lackey ./testcases/kernel/syscalls/waitpid/waitpid03'
Run Code Online (Sandbox Code Playgroud)

就像killall,pkill在每个非嵌入式(和一些嵌入式)Linux 安装上,它更强大,通常更可靠(但由于某种原因鲜为人知)。配套实用程序pgrep是相同的,只是它列出了 PID 而不是杀死。

您可能感兴趣的另一个实用程序是fuserfuser testcases/kernel/syscalls/waitpid/waitpid03列出打开指定文件的进程,fuser -k并向这些进程发送信号。当您不尝试发送信号时,lsof是一种更强大的替代方案fuser(显示更多内容,具有更多过滤器)。