Linux命令:ps的实例教程

138 阅读2分钟

`ps`命令的快速指南,用于列出系统中当前运行的进程

你的计算机在任何时候都在运行大量不同的进程。

你可以使用ps 命令检查它们。

这是当前会话中运行的用户发起的进程列表。

在这里,我有几个fish shell实例,大部分是由VS Code在编辑器内打开的,还有一个Hugo的实例在运行一个网站的开发预览。

这些只是分配给当前用户的命令。为了列出所有进程,我们需要向ps 传递一些选项。

我最常使用的是ps ax

a 选项用于同时列出其他用户的进程,而不仅仅是我们自己的进程。x 显示与任何终端没有联系的进程(不是由用户通过终端启动的)。

正如你所看到的,较长的命令被削减。使用命令ps axww ,在新的一行继续列出命令,而不是剪掉它。

我们需要指定w 2次来应用这个设置,这不是一个打字错误。

你可以将grep 与管道结合起来搜索一个特定的进程,像这样。

ps axww | grep "Visual Studio Code"

ps 返回的列代表了一些关键信息。

第一个信息是PID ,即进程ID。当你想在另一个命令中引用这个进程时,这是一个关键,例如,杀死它。

然后我们有TT ,告诉我们使用的终端ID。

然后,STAT 告诉我们进程的状态。

I 一个空闲的进程(睡眠时间超过20秒) 一个可运行的进程 一个睡眠时间少于20秒的进程 一个停止的进程 一个处于不间断等待的进程 一个死亡的进程(R``S``T``U``Z 僵尸)。

如果你有一个以上的字母,第二个代表进一步的信息,这可能是非常技术性的。

常见的是+ ,表示该进程在其终端中处于前台。s ,表示该进程是一个会话领导者

TIME 告诉我们该进程已经运行了多长时间。

这个命令在Linux、macOS、WSL和任何你有UNIX环境的地方都适用