简介
在Linux环境下使用ps -l指令即可以查看当前环境下与bash相关的的进程信息。
如图所示
下面我们来依次解释下这些内容
F:代表这个进程的旗标,说明进程的权限
常见的有4和1,4表示该进程是使用的root权限,1表示此进程是fork之后未执行的。现在的0则表示两者都不是。
S:代表这个进程的状态(STAT)
具体分为以下几个状态
R(running)可执行状态,只有在该状态下的进程才可能在cpu上运行
S(sleeping)正在睡眠,可被唤醒。处于这个状态的进程可能因为等待某事件的发生而被挂起,这些进程的task_struct结构就会被放入等待队列,再当某些事件发生,睡眠中的进程就会被唤醒。
D(disk sleep)磁盘休眠,不可被唤醒。这类进程处于睡眠状态,但是此刻进程是不可中断的。不可中断,指的并不是CPU不响应外部硬件的中断,而是指进程不响应异步信号。
T(stopped)停止状态或跟踪状态。向进程发送一个SIGSTOP信号,它就会因响应该信号而进入TASK_STOPPED状态。向进程发送一个SIGCONT信号,可以让其从TASK_STOPPED状态恢复到TASK_RUNNING状态。
X(dead)退出状态,进程即将被销毁。
Z(zombie)僵死状态。是⼀个⽐较特殊的状态。当进程退出并且⽗进程(使⽤wait()系统调
⽤)没有读取到⼦进程退出的返回代码时就会产⽣僵死进程。
UID/PID/PPID
UID:代表执行者的身份;
PID:进程标识符也就是这个进程的代号;
PPID:父进程标识符,代表这个进程是由那个进程衍生而来;
C
代表 CPU 使用率,单位为百分比。
PRI/NI
pri:priority的缩写,代表此进程被cpu所执行的优先顺序,数值越小代表该进程越快被cpu执行。
ni:nice值,其表示进程可被执行的优先级的修正数值。修正优先级的方式是pri(new)=pri(old)+nice。所以当nice值为负值的时候,该进程的优先级值就会变小,优先级就会变高,就会更先被执行。
设置nice值
可以通过指令renice来调整nice值
renice -10 -p 26951
参数-p,代表该程序的优先级等级,类似的还有-g,修改所有隶属于该程序群组的程序的优先权;
-u,修改所有隶属于该用户的程序优先权。
以上指令的意思是把pid为26951的进程的nice值设置为了-10(nice的范围为-20~19),但是注意只有系统管理者可以改变其他用户程序的优先权,也仅有系统管理者可以设置负数等级。
ADDR/SZ/WCHAN
这三个都是与内存相关的信息ADDR指出该进程在内存的哪个部分,一般S和R状态的进程会显示“-”;状态SZ代表此进程用掉了多少内存,WCHAN表示目前进程是否在工作;“-”表示正在工作。
TTY
登入者的终端机位置,若为远程登入则使用动态终端界面(pts/n)
TIME
使用掉cpu的时间,注意,是实际花费掉的cpu运作时间,不是系统时间。
CMD
command的缩写,造成此进程的指令。