如何在 Ubuntu 上检查某个服务是否正在运行?
linuxoperating systemopen sourceubuntu更新于 2026/2/15 3:07:17
我们知道可以使用 top 命令打印所有在后台运行的进程。虽然 top 命令用于打印当前由 Linux 内核管理的进程或线程列表,但它仍然不是检查某个服务是否在后台运行的便捷方法。
为了理解如何检查某个服务是否正在运行,我们首先必须了解服务在 Linux 中的实际含义。服务本质上是一个或一组在后台持续运行的进程。
现在我们知道了什么是服务,接下来我们将了解用于检查某个服务是否正在运行的不同命令。
第一个命令是 Linux 操作系统的 ps 命令。ps 命令是"进程状态"的缩写。用于列出 Linux 机器上当前正在运行的进程及其 PID 和不同选项。
语法
ps ef | [ - options ]
让我们通过两个示例来说明:首先,我们将打印 Ubuntu 机器上正在运行的所有进程;然后,我们将打印特定服务是否正在运行。
命令
ps ef
输出
UID PID PPID C STIME TTY TIME CMD 0 1 0 0 25Jun21 ?? 19:53.44 /sbin/launchd 0 56 1 0 25Jun21 ?? 0:41.68 /usr/sbin/syslogd 0 57 1 0 25Jun21 ?? 0:59.28 /usr/libexec/UserEventAgent (System)
上述命令的输出非常庞大,因此我只打印了其中的一部分,需要注意的是,输出可能会有所不同。
命令
ps -ef | grep Terminal
上述命令将告诉我们您的计算机上某个服务是否正在运行。在上述命令中,我检查了 Terminal 服务是否正在运行。
输出
501 28604 1 0 Sun12PM ?? 2:43.95 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal 501 45775 45479 0 上午 9:31 ttys000 0:00.01 grep Terminal
只有当您看到上述输出的 CMD 列填充了命令时,才能确认该服务确实正在运行。
检查服务是否正在运行的另一种方法是使用 aux 命令代替上述命令中的 -ef 标志。
命令
ps aux | grep Terminal
输出
immukul@192 linux-questions-code % ps aux | grep Terminal immukul 28604 3.3 0.7 5429432 57080 ?? S Sun12PM 2:46.14 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal immukul 45869 0.0 0.0 4268300 520 s000 R+ 9:44AM 0:00.00 grep Terminal
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

