1,ps命令:
常用的ps命令有两个:
ps aux 和 ps -ef
通常ps命令和 |grep 搭配使用寻找进程名。
(1)ps aux命令
ps aux命令中u的作用是列出程序的所有者,ax的作用是输出所有程序。
ps aux命令的输出如图:
第一列USER是用户,第二列PID就是进程的编号。
第三列%CPU是CPU的占用率,第四列%MEM是内存的占用率。
第五列VSZ是虚拟内存占用量,第六列RSS是实际内存的占用量,单位kB。
第七列TTY反映这个进程由哪个终端产生,?意味着来自linux内核。tty1意味着本地的控制终端。
第八列STAT反映进程状态:大写的S表示休眠sleep,R表示正在被运行,T表示已经停止,小写的s表示有子进程。
第九列START表示进程的启动时间。第十列TIME表示对CPU的占用时间。
最后一列COMMAND是进程的名字。
PID为1的命令/init是Linux开机之后的第一条命令,最后的ps aux能抓取到自己的信息。
(2)ps -ef命令
-e 选项意为输出所有进程,-f意为显示程序间的关系。输出如图:
UID就是用户,PID就是进程号,PPID就是父进程的PID,C就是CPU使用率,
STIMRE就是启动时间,TIME就是CPU占用时间,CMD就是进程名。
2,top命令:
top
top命令的输出结果如图:十分类似与windows的任务管理器,每3秒更新一次,进程按CPU占用率排列。看完后,按q退出。
第一行的输出:20:48:18表示当前系统时间。up 34min表示系统已经正常运行了34min。0 users表示当前登陆了0个用户(为什么?)。load average表示之前1分钟、5分钟、15分钟的负载情况,大于1说明负载很大。
第二行输出进程信息:3 total表示共有3个进程,1running表示一个正在运行,2sleeping表示2个正在休眠,0stopped表示0个停止,0zombie表示0个僵尸进程:僵尸进程表示正在停止还没停止的进程。
第三行输出CPU的信息:us表示被用户占用的CPU的百分比,sy表示被系统占用的CPU的百分比第四个89.2id表示空闲CPU的百分比为89.2%
第四行输出物理内存的信息:total表示总内存,free表示未被占用的内存,used表示已被使用的内存,buff表示缓冲内存的数量。
第五行输出交换分区的信息。还不太懂。。。。。
3,pstree命令
pstree命令用于查看进程树。一条线连接父进程和子进程,例如:
pstree也能搭配grep
4,kill与killall命令
(1) kill :
kill -数字 进程号PID
数字用1表示重启,2表示终止前台进程相当于Ctrl+c,9表示强行杀死,15表示正常地结束进程。
kill不加数字相当于 kill -15,不管用时用kill -9
kill -l (l是小写的英文字母 )这个命令用于查看kill后面的数字
(2) killall
killall的用法同kill,但是后面接的不是进程的pid而是进程名
5,后台进程管理
(1) & :在命令后面加上一个 & 就能让这个命令在后台运行
(2) Ctrl +z :中断一个命令。
(3) jobs :查看有多少后台命令并且输出其状态
(4) fg :fg -1 意为将jobs中[1]号命令拿出到前台运行
(5) bg : bg -数字 意为将jobs中[数字]号命令继续执行,[数字]号命令原先应该是stopped状态。