Linux 进程常见状态说明
状态标识 | 状态名称 | 状态说明 | 示例 |
---|---|---|---|
R |
task_running | 进程处于运行或就绪状态 | |
S |
task_interruptible sleeping |
可中断的睡眠状态 | |
D |
task_uninterruptible | 不可中断的睡眠状态 1. 它是一种睡眠状态,意味着处于此状态的进程不会消耗 CPU 2. 睡眠的原因是等待某些资源(比如锁或者磁盘 IO),这也是非常多 D 状态的进程都处在处理 IO 操作的原因 3. 是它不能被中断,这个要区别于 硬件中断 的中断,是指不希望在其获取到资源或者超时前被终止。因此他不会被信号唤醒,也就不会响应 kill -9 这类信号。这也是它跟 S(可中断睡眠) 状态的区别 |
|
T |
task_stopped task_traced Traced |
暂停状态或跟踪状态 | |
Z |
task_dead exit_zombie zombie |
退出状态,进程成为僵尸进程 | |
X |
task_dead exit_dead |
退出状态,进程即将被销毁 | |
I |
idle | 空闲状态 |
进程命令名和进程可执行文件名
在系统中遇到以下进程:
ps -elf | grep 18686 |
其中 PID 为 18686
的进程名为 /usr/sbin/CROND
,其启动了另外两个子进程。但是在系统中检查,并不存在路径 /usr/sbin/CROND
ls -l /usr/sbin/CROND |
出现此种现象,主要是因为 在启动时,进程的命令名是根据路径传递给 execve()
函数的参数决定的,而不是直接与系统中的文件进行匹配。
在 Linux 系统中,ps
命令显示的进程信息是从 /proc
文件系统中获取的,而 /proc
文件系统包含有关正在运行的进程的信息,包括每个进程的命令名。因此,即使实际上系统中不存在 /usr/sbin/CROND
文件,但如果进程的命令名是 /usr/sbin/CROND
,那么 ps
命令仍然会显示进程的命令名为 /usr/sbin/CROND
。
进程的命令名可以查看 /proc/<PID>/cmdline
文件,本示例中显示如下:
cat /proc/18686/cmdline |
对应的系统上的可执行文件的名称可以查看 /proc/<PID>/stat
、/proc/<PID>/comm
、/proc/<PID>/status
等文件
cat /proc/900/comm |
在本示例中,实际执行的命令为 crond
进程状态查看
top 命令
使用 top
命令可以查看系统负载、CPU 和 内存使用情况。也可以查看单个进程的具体信息。
top
命令常用选项
选项 | 说明 | 示例 |
---|---|---|
-H |
Threads Mode ,线程模式。默认情况 top 展示进程的简要信息,使用此选项显示进程中的线程状态。对应交互式命令 H |
- 显示单个进程的(线程)详细信息
top -H -p 1423
top - 09:44:42 up 54 days, 23:53, 2 users, load average: 8.82, 6.84, 7.21
Threads: 15 total, 0 running, 15 sleeping, 0 stopped, 0 zombie
Cpu(s): 40.9 us, 10.8 sy, 0.0 ni, 48.1 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem : 15790488 total, 466056 free, 7761544 used, 7562888 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 3895716 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1423 root 20 0 1477368 778788 4260 S 39.5 4.9 11999:41 [watchdog:1:6]
2572 root 20 0 1477368 778788 4260 S 37.9 4.9 11363:48 [watchdog:1:6]
1436 root 20 0 1477368 778788 4260 S 34.2 4.9 11286:08 [watchdog:1:6]
1435 root 20 0 1477368 778788 4260 S 33.9 4.9 12059:53 [watchdog:1:6]
1434 root 20 0 1477368 778788 4260 S 33.2 4.9 10249:00 [watchdog:1:6]
1437 root 20 0 1477368 778788 4260 S 30.6 4.9 11717:47 [watchdog:1:6]
1431 root 20 0 1477368 778788 4260 S 28.9 4.9 11222:06 [watchdog:1:6]
21378 root 20 0 1477368 778788 4260 S 27.6 4.9 12143:35 [watchdog:1:6]
1433 root 20 0 1477368 778788 4260 S 17.6 4.9 8738:21 [watchdog:1:6]
1428 root 20 0 1477368 778788 4260 S 8.0 4.9 7650:56 [watchdog:1:6]
1429 root 20 0 1477368 778788 4260 S 0.0 4.9 0:00.04 [watchdog:1:6]
1430 root 20 0 1477368 778788 4260 S 0.0 4.9 0:00.05 [watchdog:1:6]
1432 root 20 0 1477368 778788 4260 S 0.0 4.9 0:00.03 [watchdog:1:6]
1438 root 20 0 1477368 778788 4260 S 0.0 4.9 12260:30 [watchdog:1:6]
1529 root 20 0 1477368 778788 4260 S 0.0 4.9 11068:39 [watchdog:1:6]