进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源。一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝。
1,ps命令
作用:ps命令主要用于查看系统中进程的状态。
用法:ps [选项]
主要选项如下:
-e 显示所有进程
-a 跟终端无关的进程 (BSD风格,不加横杆)
-x 跟终端有关的进程
-u 发起者
-F 额外信息
-f 显示完整信息
-j 以作业的方式显示进程
-H 显示进程的关系
-o 自定义显示哪些字段
单一的命令往往显示的结果不是很理想,这里我们可以多个选项同时使用。
例:ps aux 命令可以获得终端上所有用户的有关进程的所有信息
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 2064 652 ? Ss 10:05 0:00 init [3]
其中VSZ 虚拟地址大小
RSS 物理内存大小
例:例:ps ax
pid tty stat time command
1 ? Ss 0:00 init [3]
其中 tty中?表示与终端无关
stat(状态)
D 不可中断 sleep
S 可中断 sleep
R 正在运行或可运行的
T 停止态
Z 僵尸态 父进程替子进程收尸
父进程死的时候会先替子进程找到另外一个父进程
x 死亡状态
w paging
状态的变化:stoped--sleep--ready--running
注:sleep (可中断sleep 和不可中断sleep)
PID 这个进程的ID,下面的PPID为父进程的ID
在BSD中也会有:
< 表示高优先级的进程
N 低优先级
+ 属于某个前台组的进程
s 某一个回话的leader进程
l 线程加锁
+ 后台运行进程组
例:ps -l
[root@station100 ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 9706 9704 0 75 0 - 1166 wait pts/1 00:00:00 bash
4 R 0 9908 9706 0 77 0 - 1052 - pts/1 00:00:00 ps
F:表示这个进程的标志(flag),4表示用户为超级用户。
S:表示这个进程的状态(STAT)。
PID:这个进程的ID,下面的PPID为父进程的ID。
C:CPU使用的资源百分比
PRI:Priority(优先级)的缩写。
NI:Nice值
ADDR 这是核心功能,指出该进程在内存的那一部分,如果是运行的进程一般都是“-”
SZ:用掉的内存大小
WCHAN 当前进程是否正在运行,若为“-”表示正在运行。
TTY:登录者的终端位置。
TIME:用掉的CPU时间。
CMD 所执行的命令。
例:ps auxw --sort=rss
按内存占用情况对进程排序
例:ps auxw --sort=%cpu
在进行系统维护时,如果CPU负载突然增加,而又不知道是哪一个进程造成的
其他部分ps命令:
To see every process on the system using standard syntax:
ps -e
ps -ef
ps -eF 显示PID及PPID信息
ps -ely 会显示nice值NI及优先级PRI
To see every process on the system using BSD syntax:
ps ax
ps axu
To print a process tree:
ps -ejH
ps axjf 相当于ps -aFH或afh 显示进程关系
To get info about threads
ps -eLf
ps axms
To get security info:
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
To see every process running as root (real & effective ID) in user format:
ps -U root -u root 自定义显示格式
To see every process with a user-defined format:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -eopid,tt,user,fname,tmout,f,wchan
Print only the process IDs of syslogd:
ps -C syslogd -o pid=
Print only the name of PID 42:
ps -p 42 -o comm=
考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。