在Centos操作系统中,查看进程是系统管理和故障排除的重要任务之一,本文将详细介绍如何使用各种命令来查看系统中的进程,包括ps、top、pgrep等命令,并解释其输出信息和使用方法。
一、使用ps命令查看进程
1. ps aux命令

ps aux
命令用于显示当前所有正在运行的进程,该命令的输出包括每个进程的PID(进程ID)、TTY(终端类型)、TIME(累计CPU时间)、CMD(命令行)等信息。
- ps aux
输出示例:
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- root 1 0.0 0.1 22564 1328 ? Ss 09:27 0:01 /sbin/init
- ...
2. ps ef命令
ps ef
命令以全格式显示所有进程,包括用户、进程ID、父进程ID、CPU和内存使用情况等详细信息。
- ps ef
输出示例:
- UID PID PPID C STIME TTY TIME CMD
- root 1 0 0 Sep09 ? 00:00:05 /sbin/init
- root 769 757 0 10:17 ? 00:00:00 /usr/sbin/rsyslogd n
- ...
3. ps u username命令

ps u username
命令用于查看指定用户运行的所有进程,要查看用户“vivek”运行的所有进程:
- ps u vivek
输出示例:
- UID PID PPID C STIME TTY TIME CMD
- vivek 1234 1233 0 10:20 pts/0 00:00:01 bash
- ...
4. ps p pid命令
ps p pid
命令用于查看指定进程ID的详细信息,要查看PID为1234的进程:
- ps p 1234 o pid,ppid,cmd,%cpu,%mem
输出示例:
- PID PPID CMD %CPU %MEM
- 1234 1 /usr/bin/firefox 2.5 12.3
二、使用top命令查看进程
top
命令提供了实时更新的系统状态视图,包括CPU和内存使用情况、运行中的进程列表及其资源消耗,输入top
命令后,界面会每三秒刷新一次,按q
键退出top
命令。

- top
输出示例:
- top 10:20:30 up 1 day, 2:34, 2 users, load average: 0.00, 0.01, 0.05
- Tasks: 123 total, 1 running, 122 sleeping, 0 stopped, 0 zombie
- %Cpu(s): 2.5 us, 1.0 sy, 0.0 ni, 96.0 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st
- KiB Mem : 2048 total, 845 used, 1203 free, 234 buffers
- KiB Swap: 2048 total, 0 used, 2048 free. 1234 cached Mem
- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
- 1234 root 20 0 123456 65432 12345 S 2.5 3.2 0:10.23 firefox
- ...
三、使用pgrep命令查找进程
pgrep
命令用于根据进程名称查找进程ID,要查找名为“sshd”且属于root用户的所有进程:
- pgrep u root sshd
输出示例:
- 1234
- 5678
四、使用pstree命令查看进程树
pstree
命令以树状结构显示进程之间的关系,如果指定了用户名,则以用户所拥有的进程作为根节点。
- pstree
输出示例:
- systemd(1)─┬─ModemManager(687)
- ├─accountsdaemon(769)
- ├─agetty(865)
- ├─cgmanager(829)
- ├─cgroup(830)─┬─dockerd(1234)─┬─containerdshim(1235)─┬─dockercontainerdctr(1236)
- │ │ ├─dockercontainerdshim(1237)
- │ │ └─dockercontainerdshim(1238)
- ├─cron(856)
- ├─dbusdaemon(771)
- ├─dnsmasq(893)
- ├─fail2banserver(967)
- ├─flanneld(979)
- ...
五、使用htop命令查看进程
htop
是一个交互式的进程查看工具,类似于top
,但功能更强大,可以垂直和水平滚动查看所有进程及其命令行,安装htop
的命令如下:
- yum install htop
启动htop
:
- htop
输出示例:
- 1 [ 1.2%] Tasks: 123, CPUs: 4* Mem: 2G total, 1G free Uptime: 1 day, 2:34
- Load Avg: 0.00, 0.01, 0.05 Tasks: 123, Total: 245; 123 running; 122 sleeping; 0 stopped; 0 zombie
- PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ COMMAND
- 1234 root 20 0 123456 65432 12345 S 2.5 3.2 0:10.23 firefox
- ...
六、使用atop命令查看系统负载
atop
是一个交互式监控工具,可以显示系统层级的关键硬件资源使用情况,如CPU、内存、硬盘和网络,输入以下命令启动atop
:
- atop
输出示例:
- System Summary on atop (every 10 sec) as of Mon Oct 2 10:20:30 2023
- Resources: scale=auto us, underruns=0, press 'h' for help and 'q' to quit.
- CtrlA for sort order (reverse with Shift), '=' for more columns, 'X' for fewer columns.
- CPU states usage: [user:10.5%, sys:5.2%, idle:84.3%, wait:0.0%] (sum=100%)
- CPU core states: [core1: user=10.5%, sys=5.2%, idle=84.3%, wait=0%] ... [coreN]
- Memory: TOTAL=2G USED=1G FREE=1G (buffers=234M)
- Swap: TOTAL=2G USED=0K FREE=2G (cached=1234K)
- Disks: HDIO=1.2K/s, CDIO=0.0K/s, DISKFULL=0%, DISKREAD=2.3K/s, DISKWRIT=0.0K/s, DISKFREE=1.2G/s, DISKTRIM=0K/s, DISKCACHE=1234K/s ...
- NetIfaces: lo=0K/s, enp0s3=1.2K/s, wlp2s0=2.3K/s ...
- Procs: total=123, threads=456 (running=1, sleeping=455) ...
- Tasks: total=123, running=1, sleeping=122, idle=0, zombie=0 ...
- ...
通过上述命令,用户可以全面了解CentOS系统中的进程状态和管理方法,以下是一些最佳实践建议:
1、定期监控:使用top
或htop
命令定期监控系统状态,及时发现异常进程。
2、合理使用优先级:通过nice
和renice
命令调整进程优先级,确保关键任务优先执行。
3、日志分析:定期检查/var/log
目录下的日志文件,如messages
和secure
,获取系统和进程的关键信息。
4、自动化管理:利用systemd
进行服务管理,提高系统稳定性和效率。
5、调试工具:掌握strace
和gdb
等调试工具,排查进程问题。
6、资源限制:使用ulimit
和cgroups
技术设置进程的资源限制,防止单个进程过度占用系统资源。
熟练使用这些命令和工具,可以帮助系统管理员和开发人员更好地管理和优化CentOS系统,确保系统的高效稳定运行。