linux下查询进程命令 ps 详细分析

一般的话常用的是ps 不跟任何命令

可以根据返回值 PID结束进程 demo:ps -[pid]

 

ps命令是Process Status的缩写,它的功能是查看目前的系统中有哪些进程正在执行,以及它们的执行情况。您可以直接输入ps命令名称而不加任何参数。
上述ps命令显示的数据共分为4个字段,它们的说明如下:
PID:进程标识(Process ID),系统即是凭着这个编号来识别及处理此进程的。
TTY:Teletypewriter,登录的终端机编号。
TIME:此进程所消耗的CPU时间。
CMD:正在执行的命令或进程名称。
显示详细信息
ps -l

显示后台进程
ps -x

其实,系统中目前执行的进程绝不是只有输入ps命令时的数目,事实上有为数更多的进程以后台的方式来执行,它们一般都是系统的服务(Daemon),或是用户利用&来处理的进程。如果要查看这些后台进程,可以使用-x参数.

有经验的管理员一般都习惯一次查看所有用户执行的进程以及后台进程,此时可以使用-aux参数。

ps -aux 查询更详细的信息

虽然-aux参数可以提供最详尽的信息,但是有时并不是很容易找出所需的信息,因此我们可配合使用grep命令,以缩小查看的范围

ps -aux | grep jack  //这里是查询出和jack有关的进程

结束进程

kill -l

如果某个进程执行到一半时中断,或消耗太多的系统资源,例如内存数量及CPU时间,此时您可以考虑使用kill命令来将指定的信号传送到该进程。
虽然kill命令可以传送的信号有很多种,但以SIGTERM(15)或SIGKILL(9)居多,它们都是用来结束进程执行的。您可以使用-l参数来查看所有可供传送的信号。

因为kill命令在使用时必须通过进程ID来指定信号的接收进程,所以需先以ps命令来得知要传送的PID,之后再使用kill命令加上指定的PID来送出终止信号以结束进程。


以下示例假设要终止PID 16525进程的执行:
[root@ns1 ~]#kill 16525
因为有些进程会捕捉某些信号,所以当直接指定PID无法终止其进程时,您可以使用-9参数,它代表送出SIGKILL信号。
[root@ns1 ~]# kill -9 16525
如果使用-9参数仍无法结束该进程,还可以尝试使用-15参数来送出SIGTERM信号;如果连-15参数都无法成功地删除此进程,则只有重新启动这一方法了。
通常,极难删除的进程大多与系统运行有关联,如果删除后可能会影响系统的性能或执行,因此最好不要养成直接使用-9和-15参数的习惯。
kill命令另外一个常用的时机是,当对某个Daemon进行修改或设置后,您可以使用-HUP(Hang Up)参数来重新启动该进程,这可减少重新启动计算机的时间