Linux 查看进程ps命令详解

介绍

ps 命令是 Linux 系统中常用的进程查看工具,它可以查看当前系统中正在运行的进程信息。ps 命令可以显示进程的 ID、状态、执行命令、占用内存等信息,对于系统管理员来说,使用 ps 命令可以方便地监控和管理系统中的进程。

ps 命令语法及选项

ps 命令的基本语法如下:

ps [选项]

常用的选项包括:

选项 说明
-a 显示所有进程,包括其他用户的进程
-u 显示进程的详细信息
-x 显示没有控制终端的进程
-e 显示系统中所有的进程
-f 显示进程的完整格式,包括进程的命令行参数
-l 显示进程的详细信息,包括进程的状态、资源占用等
-h 隐藏标题行

举例说明

1. 查看当前用户的所有进程

使用 ps 命令可以查看当前用户的所有进程,命令如下:

ps

该命令会显示当前用户的所有进程信息,如下所示:

PID TTY          TIME CMD
302 tty7     00:10:29 Xorg
4372 tty1     00:00:01 bash
4603 pts/0    00:00:00 ps

在输出结果中,第一列是进程的 ID (PID),第二列是进程所在的控制终端 (TTY),第三列是进程运行的时间 (TIME),第四列是进程的命令 (CMD)。

2. 显示所有进程

使用 ps -Aps -e 命令可以显示系统中所有进程信息,包括其他用户的进程。两个命令的效果是相同的,执行结果如下:

PID TTY          TIME CMD
1 ?        00:00:06 systemd
2 ?        00:00:00 kthreadd
3 ?        00:00:00 rcu_gp
4 ?        00:00:00 rcu_par_gp
…

3. 显示进程的详细信息

使用 ps -ef 命令可以显示进程的详细信息,包括进程的状态、资源占用等信息。执行结果如下:

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 12月11 ?     00:00:06 /sbin/init splash
root         2     0  0 12月11 ?     00:00:00 [kthreadd]
root         3     2  0 12月11 ?     00:00:00 [rcu_gp]

4. 在后台运行一个长时间任务

在 Linux 中,有时需要在后台运行一个需要很长时间才能完成的任务,可以使用 nohup 命令和 & 符号实现,示例代码如下:

nohup command > /dev/null 2>&1 &

其中,command 表示需要运行的命令,>/dev/null 2>&1 表示将标准输出和标准错误都重定向到 /dev/null& 符号表示在后台运行该命令。

5. 查找进程(常用)

在 Linux 中,有时候需要查找某个进程的信息或者杀死某个进程,这时可以使用 ps 命令配合 grep 命令和 kill 命令实现。

例如,假设我们要查找所有包含关键字 nginx 的进程信息,可以使用以下命令:

ps -ef | grep nginx

执行结果如下:

root      1608     1  0 11:40 ?        00:00:00 nginx: master process nginx -g daemon on; master_process on;
www-data  1610  1608  0 11:40 ?        00:00:00 nginx: worker process
www-data  1611  1608  0 11:40 ?        00:00:00 nginx: worker process

而如果要杀死 ID 为 1608 的 nginx 主进程,可以使用以下命令:

kill -9 1608

4. 实时显示进程

有时需要实时查看某个进程的状态,可以使用 top 命令。执行 top 命令后,会实时显示系统中各个进程的状态、资源占用等信息,如下所示:

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 7583 root      20   0  319236  88264  17976 S  0.7 11.5   0:06.98 Xorg
 7829 binjie09  20   0 1476780 361616 109568 S  0.7 47.3   2:36.70 chrome
 7941 binjie09  20   0 1147772 249564 100064 S  0.7 32.6   0:40.26 gnome-shell
 8334 binjie09  20   0 1072240 252328 116060 S  0.7 33.0   0:12.02 gnome-terminal-
 8564 binjie09  20   0  607192 183952  75352 S  0.7 24.0   0:08.58 chrome

在命令行中使用 Ctrl+C 可以退出 top 命令。

5. 查看进程所占用的端口

有时候需要查看某个进程所占用的端口,可以使用 netstat 命令配合 grep 命令实现。例如,假设要查找所有占用端口号为 8080 的进程信息,可以使用以下命令:

netstat -nlp | grep 8080

执行结果如下:

tcp6       0      0 :::8080                 :::*                    LISTEN      7829/chrome

其中,“LISTEN” 表示该端口正在监听连接请求。

总结

ps 命令是 Linux 系统中常用的进程查看工具,它能够查看当前系统中正在运行的进程信息,并可以方便地监控和管理系统中的进程。ps 命令的选项丰富多样,使用方法灵活,可以根据实际需求选择不同的选项进行查看。在日常工作中,熟练掌握 ps 命令的使用是非常重要的,也有助于提高工作效率。

你可能感兴趣的:(Linux,linux,运维,服务器)