Linux初学:进程管理

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状态。





猜你喜欢

转载自blog.csdn.net/moon_wander/article/details/80273073