700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Linux 进程管理 ps top kill

Linux 进程管理 ps top kill

时间:2020-09-13 05:27:09

相关推荐

Linux 进程管理 ps top kill

文章目录

进程管理进程字段名进程的状态查看进程ps(Process Status)Unix风格的参数BSD风格的参数GNU风格的参数案例1:将目前属于本用户这次登入的 PID 与相关信息列示出来案例2:列出目前所有的正在内存当中的程序(最常用)**案例3:显示所有进程信息,连同命令行实时监测进程top交互操作案例结束进程kill命令常用命令killall命令

进程管理

进程字段名

进程的状态

查看进程ps(Process Status)

ps用来查看目前系统中,有哪些程序正在执行,以及他们执行的状况。

显示瞬间进程的状态,并不动态连续

默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进程

[ranan@MPI0 ~]$ psPID TTYTIME CMD38603 pts/1 00:00:00 bash38888 pts/1 00:00:00 tail39148 pts/1 00:00:00 ps

语法

ps [选项]

Linux系统中使用的GNU ps命令支持3中不同类型的命令行参数

Unix风格的参数,前面加单破折号BSD风格的参数,前面不加单破折号GUN风格的长参数,前面加双破折号

Unix风格的参数

BSD风格的参数

参数|描述

| -

u|以用户为主的格式来显示进程状况。

x|显示所有进程,包括未分配任何中断的进程

GNU风格的参数

GNU复制了现有的其他类型参数,还加入了新功能

参数|描述

| -

–sort oeder|指定输出按哪列排序

–forest | 用层级结构显示除进程与父进程的关系

案例1:将目前属于本用户这次登入的 PID 与相关信息列示出来

[ranan@hadoop102 ~]$ ps -l

进程的状态

O:正在运行

S:在休眠

R:可运行,正等待运行

Z:僵化,进程已结束但父进程已不存在

T:停止

进程的优先级数字越大优先级越低。

案例2:列出目前所有的正在内存当中的程序(最常用)**

[ranan@MPI0 ~]$ ps -aux

案例3:显示所有进程信息,连同命令行

[ranan@MPI0 ~]$ ps -ef

实时监测进程top

语法:top [选项]

选项

-d delay:改变显示的更新速度,指定每两次屏幕信息刷新的时间间隔,单位是s

-p PID: 指定监测进程的ID,仅监测该进程

-i:使top不显示任何闲置或者僵死进程

-s:使top命令在安全模式中运行,这将去除交互命令所带来的潜在危险

-u username:指定显示该用户的进程

-n num:刷新特定的次数后退出

1.平均负载值越大说明系统的负载越高。由于进程短期的突发性活动,最近1分钟的出现高负载值也很正常,但如果近15分钟内的平均负载都很高,说明系统可能有问题。通常如果系统的负载值超过了2,就说明系统比较繁忙。

2.默认情况下,top命令在启动时会按照%CPU值对进程进行排序,可以在top运行时使用交互命令重新排序。

交互操作

案例

1.每2s显示所有进程的资源占用情况

[ranan@MPI0 ~]$ top -d 2

2.每5s显示进程的资源占用情况,并显示进程的命令行参数,默认只有进程名

[ranan@MPI0 ~]$ top -c

结束进程

Linux中,进程之间通过信号来通信。

Linux进程信号

在Linux上有两个命令可以向运行中的进程发出进程信号

kill命令killall命令

这两个命令通常和ps结合使用

kill命令

语法:kill [选项] PID[,PID1,PID2…]

kill 是向进程发送信号的命令

默认情况下,kill命令会向命令行中列出的全部PID发送一个TERM命令,进程正常退出-按应用程序自己的退出流程完成退出,这样就可以清理并释放资源。

发送进程信号,必须是进程的属主或root用户

选项

-l 信号编号:显示信号编号的信号,不加则显示所有信号

[ranan@MPI0 ~]$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT4) SIGILL 5) SIGTRAP6) SIGABRT7) SIGBUS 8) SIGFPE 9) SIGKILL10) SIGUSR111) SIGSEGV12) SIGUSR213) SIGPIPE14) SIGALRM15) SIGTERM16) SIGSTKFLT 17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU25) SIGXFSZ26) SIGVTALRM 27) SIGPROF28) SIGWINCH 29) SIGIO 30) SIGPWR31) SIGSYS34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+338) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+843) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+1348) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-1253) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-758) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-263) SIGRTMAX-1 64) SIGRTMAX[ranan@MPI0 ~]$ kill -l 5TRAP

-s 信号名称或编号:指定要发出的信号

kill -s HUP 3940kill -9 3940 # 可以直接 -信号

使用 kill 命令一定可以终止一个进程吗?

答案是否定的。kill 命令只是“发送”一个信号,因此,只有当信号被程序成功“捕获”,系统才会执行 kill 命令指定的操作;反之,如果信号被“封锁”或者“忽略”,则 kill 命令将会失效。

常用命令

这条命令发信号让进程正常退出。所谓的正常退出是指按应用程序自己的退出流程完成退出,这样就可以清理并释放资源。比如 vim 程序,如果是正常的退出,就会删除掉临时文件 *.swp。

kill pid

进程出现了异常状况,不能通过信号15正常退出时,我们就需要通过非常的手段直接终结掉进程。

这样结束掉的进程不会进行资源的清理工作,所以如果你用它来终结掉 vim 的进程,就会发现临时文件 *.swp 没有被删除。

kill -9 pid

killall命令

killall [选项] [进程名]

选项

-Z 只杀死拥有scontext 的进程

-e 要求匹配进程名称

-I 忽略小写

-g 杀死进程组而不是进程

-i 交互模式,杀死进程前先询问用户

-l 列出所有的已知信号名称

-q 不输出警告信息

-s 发送指定的信号,同kill使用方法一样

-v 报告信号是否成功发送

-w 等待进程死亡

-u 用户名:向该用户所运行的所有进程发送信号

支持通过进程名来终止进程,也支持通配符,在系统负载过大而变得慢时很有用

killall -9 player # 杀掉player进程killall http* # 结束http开头的进程

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。