一.ps
1.应用举例
a显示所有用户的所有进程 | l长格式输出 |
x显示无控制终端的进程 | u按用户名和启动时间显示进程 |
r显示运行中的进程 | j用任务格式来显示进程 |
ww避免详细参数被截断 | f用树形格式来显示进程 |
# ps auxf |grep httpd | 用f 参数;父与子关系一目了然 |
#ps –C bash | 看bash程序生成所有进程号 |
#ps –u root | 看root用户启动的所有进程号 |
#ps -p 1 #ps -p $(/sbin/pidof init) | 用pid查软件名 |
#ps –eo pid,%cpu,comm.,tty|grep ttys0 | 自定义格式的进程 |
2.ps aux
NI | 进程的NICE值NI | T | 停止或被追踪 |
l | 多进程的(使用 CLONE_THREAD) | W | 进入内存交换;内存分页不足 |
< | 优先级高的进程 | N | 优先级较低的进程 |
L | 有些页被锁进内存 | WCHAN | 正在等待的进程资源; |
+ | 位于后台的进程组 | R | 正在执行中 |
X | 死掉的进程(从来没见过); | s | 进程的领导者,之下有子进程 |
二.pstree
查看进程树(引导系统时,linux内核的一个职责是启动第一个进程,一般是/sbin/init,因为一个业已存在的进程继续派生,所有其它进程得以启动,由于除了第一个进程之外每个进程都是由派生创建的,在进程之间存在着一个详细定义父子关系的家谱,那就是进程树,由内核启动的第一个进程位于进程树的根部)
-A | 进程树之间以ASCII字符来连接; |
-p | 同时列出每个进程的PID; |
-u | 显示用户名; |
-a | 显示每个程序的完整指令,包括路径,参数; |
-c | 不使用精简表示法; |
-h | 列出树状图时,特别标明现在执行的程序; |
-l | 采用长列格式显示树状图; |
-n | 用程序识别码排序,默认是以程序名称来排序; |
-p | 显示程序识别码; |
-U | 使用UTF-8列出绘图字符; |
三.pgrep+pkill+killall+kill
Pkill,killall这些工具在强行终止数据库服务器时,会让数据库产生更多的文件碎片,当碎片达到一定程度的时候,数据库就有崩溃的危险。 当然对占用资源过多的数据库子进程,我们可以用kill 杀掉。
kill(杀掉单个进程) #kill -9 5901,5902,5903 //强制杀死多个进程 #kill -9 5901—5903 //强制杀死5901—5903三进程 #kill -9 0 //强制杀死所有后台程序 |
killall程序名(一次性杀死所有对应程序的进程) -i,--interactive:在给进程发送信号之前询问用户 -w,--wait:等到所有的进程都被取消后在返回 |
pkill 程序名(通过ps 或pgrep 来查看哪些程序在运行) -l 列出程序名和进程ID; -o 进程起始的ID; -n 进程终止的ID |
xkill 是在桌面用的杀死图形界面的程序 比如当firefox 出现崩溃不能退出时,用xkill点鼠标就能杀死firefox 。当xkill 运行时出来和个人脑骨的图标,哪个图形程序崩溃一点就OK了。如果想终止xkill,就按右键取消。 |