ps 命令无法正常工作?

ps 命令无法正常工作?

我正在使用带有 Bash shell 的 Debian Virtual Box,并且尝试使用带有 -c 开关的 ps 命令通过搜索进程名称来查找进程的 ID。这就是我写的:

ps -c processname

然后它告诉我:

错误:不支持的选项(BSD 语法)

这是告诉我使用当前正在使用的语法的网站的 URL:了解kill命令以及如何终止Linux中的进程

有什么帮助吗?

答案1

请尝试使用此语法。

ps -A | grep processName

如果您的结果包含进程 grep,请使用以下命令将其删除:

ps -A | grep processName | grep -v grep

根据我的经验,大多数 Linux 程序的工作方式都是相同的(ps),但总会有一些差异。

通过手册页检查您当前的版本,以了解安装的正确语法。

man ps

顺便说一句:检查 grep 的手册页,使其不区分大小写。

man grep

答案2

那篇博文说的是使用-Cflag,而不是-cflag。您将大写 C 替换为小写 C,这是行不通的。选项区分大小写。为了避免此类转录问题,请复制粘贴。

话虽这么说,解析 的输出ps -C并不是一个好主意。有一个专门的程序可以做到这一点:pgrep。用于pgrep -f processname查看哪些进程正在运行指定的命令。请参阅手册了解其他有用的选项。当您准确确定要杀死哪些进程后,替换pgreppkill:pkill匹配完全相同的进程pgrep(它是相同的代码,甚至是相同的二进制文件),但杀死它们而不是显示有关它们的信息。

相关内容