Linux 进程
查看进程指令
ps
查看某个时间点的进程
指令 | 意思 |
---|---|
ps -l |
查看自己的进程 |
ps -aux |
查看系统所有的进程 |
ps -aux | grep threadx |
查看特定的进程 |
netstat
查看占用端口的进程
netstat -anp | grep port
kill -9 port
关闭指定端口
top
实时显示进程信息
top -d time
进程信息刷新时间- top指令详情页,属性含义
名称 | 含义 |
---|---|
up |
开机后系统使用时间 |
zombie |
僵尸进程 |
PID |
进程号 |
PPI |
父进程号 |
user |
进程所有者的用户名 |
PR |
优先级 |
NI |
nice值,正值表示高优先级 |
VIRT |
进程使用的虚拟内存总量,单位KB VIRT=swap+RES |
RES |
进程使用的未被换出的物理内存大小单位kb RES=CODE+DATA |
CODE |
可执行代码占用的物理内存,单位kb |
DATA |
可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb |
SHR |
共享内存大小 |
%CPU |
上次更新时间到现在的CPU时间占用比 |
%MEM |
进程使用的物理内存百分比 |
- 进程状态
状态 | 说明 |
---|---|
R |
running or runnable (on run queue)正在执行或者可执行,此时进程位于执行队列中 |
D |
uninterruptible sleep (usually I/O)不可中断阻塞,通常为 IO 阻塞。 |
S |
interruptible sleep (waiting for an event to complete)可中断阻塞,此时进程正在等待某个事件完成。 |
Z |
zombie (terminated but not reaped by its parent)僵死,进程已经终止但是尚未被其父进程获取信息 |
T |
stopped (either by a job control signal or because it is being traced)结束,进程既可以被作业控制信号结束,也可能是正在被追踪。 |
- 孤儿进程
- 当一个父进程退出,而它的一个或多个子进程还在运行,那么这些子进程将成为孤儿进程。孤儿进程将被 init 进程(进程号为 1)所收养,并由 init 进程对它们完成状态收集工作。由于孤儿进程会被 init 进程收养,所以孤儿进程不会对系统造成危害。
- 僵尸进程
- 一个子进程的进程描述符在子进程退出时不会释放,只有当父进程通过 wait() 或 waitpid() 获取了子进程信息后才会释放。如果子进程退出,而父进程并没有调用 wait() 或 waitpid(),那么子进程的进程描述符仍然保存在系统中,这种进程称之为僵尸进程
- 系统所能使用的进程号是有限的,如果产生大量僵尸进程,将因为没有可用的进程号而导致系统不能产生新的进程。
- 要消灭系统中大量的僵尸进程,只需要将其父进程杀死,此时僵尸进程就会变成孤儿进程,从而被 init 进程所收养,这样 init 进程就会释放所有的僵尸进程所占有的资源,从而结束僵尸进程。
严律己、宽待人