ps命令用于查看Linux进程和服务,常用ps aux或ps -ef结合grep过滤特定服务;2. systemctl status推荐用于现代系统,可查看服务运行状态及详细信息。

在Linux系统中,查看进程和运行中的服务主要通过 ps 命令实现。这个命令能显示当前系统中正在运行的进程信息,结合不同的参数可以灵活地筛选和查看所需的服务进程。

ps 命令基本用法

ps 是 process status 的缩写,它能列出当前终端相关的进程或系统所有进程。常用组合如下:

  • ps aux:查看系统中所有进程的详细信息
  • ps -ef:以标准格式显示所有进程(常用于查找服务)
  • ps -ef | grep 服务名:过滤特定服务的进程

说明:

  • a:显示所有用户的进程
  • u:以用户友好的格式输出(包含CPU、内存使用等)
  • x:包括不与终端关联的进程(如后台服务)

查看具体服务是否在运行

比如你想确认 Nginx 是否正在运行,可以执行:

ps aux | grep nginx

或者:

ps -ef | grep nginx

如果返回结果包含 nginx: master process 等字样,说明服务已在运行。

同理,可替换为其他服务名,例如 mysql、apache2、redis-server 等。

常见字段解释

执行 ps aux 后输出的列含义如下:

  • USER:运行进程的用户
  • PID:进程ID,唯一标识一个进程
  • %CPU:CPU使用率
  • %MEM:内存使用率
  • VSZ:虚拟内存大小(KB)
  • RSS:物理内存占用(KB)
  • TTL:启动时间
  • STAT:进程状态(如 S=睡眠,R=运行,Z=僵尸)
  • COMMAND:启动该进程的命令

结合 systemctl 查看服务状态(现代系统推荐)

虽然 ps 可以查看进程,但现代 Linux 发行版多使用 systemd,建议配合 systemctl 使用:

systemctl status 服务名

例如:

systemctl status sshd

这样不仅能知道服务是否运行,还能看到日志片段、启用状态等更多信息。

基本上就这些。ps 命令是排查服务是否启动的基础工具,搭配 grep 过滤非常实用。掌握它有助于快速定位问题。