1.ps(Procecss State)
BSD风格:
a:所有与终端有关的进程
u:显示该进程是哪个用户启动的
x:与终端无关的进程
进程的分类:
跟终端相关的进程
跟终端无关的进程
进程状态:
D:不可终端的睡眠
R:运行或就绪
S:可终端的睡眠
T:停止
Z:僵尸态
<:高优先级的进程
N:低优先级的进程
+:前台进程组中的进程
l:多线程进程
s:会话进程
sysV风格:加 -
ps
-elF:
-ef:
-eF:
ps -o PROPETRY1 PROPETRY2 #显示指定字段
ps -o pid,comm,ni
2.pstree
显示进程树
3.kill
语法
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
参数说明:
-l <信息编号> 若不加<信息编号>选项,则-l参数会列出全部的信息 名称。
-s <信息名称或编号> 指定要送出的信息。
[程序] [程序]可以是程序的PID或是PGID,也可以是工作编号。
实例
杀死进程
#kill 12345
强制杀死进程
kill -KILL 123456
发送SIGHUP信号,可以使用一下信号
kill -HUP pid
彻底杀死进程
kill -9 123456
显示信号
#kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
杀死指定用户所有进程
#kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程
#kill -u hnlinux //方法二
4.nice
Linux nice命令以更改过的优先序来执行程序,如果未指定程序,则会印出目前的排程优先序,内定的 adjustment 为 10,范围为 -20(最高优先序)到 19(最低优先序)。
使用权限:所有使用者。
语法
nice [-n adjustment] [-adjustment] [–adjustment=adjustment] [–help] [–version] [command [arg…]]
参数说明:
-n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加 adjustment
–help 显示求助讯息
–version 显示版本资讯
实例
设置程序运行时的优先级
#vi & //后台运行
[1] 15297
#nice vi & //设置默认优先级
[2] 15298
[1]+ Stopped vi
#nice -n 19 vi & //设置优先级为19
[3] 15299
[2]+ Stopped nice vi
#nice -n -20 vi & //设置优先级为 -20
[4] 15300
[3]+ Stopped nice -n 19 vi
#ps -l //显示进程
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 15278 15212 0 80 0 - 1208 wait pts/2 00:00:00 bash
0 T 0 15297 15278 0 80 0 - 2687 signal pts/2 00:00:00 vi
0 T 0 15298 15278 0 90 10 - 2687 signal pts/2 00:00:00 vi
0 T 0 15299 15278 1 99 19 - 2687 signal pts/2 00:00:00 vi
4 T 0 15300 15278 3 60 -20 - 2687 signal pts/2 00:00:00 vi
4 R 0 15301 15278 0 80 0 - 625 - pts/2 00:00:00 ps
[4]+ Stopped nice -n -20 vi
将 ls 的优先序加 1 并执行
nice -n 1 ls
将 ls 的优先序加 10 并执行
nice ls
注意:优先序 (priority) 为操作系统用来决定 CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做 CPU 排程,优先序越高,所可能获得的 CPU时间就越多。
5.top
Linux top命令
Linux top命令用于实时显示 process 的动态。
使用权限:所有使用者。
语法
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
参数说明:
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内
实例
显示进程信息
#top
显示完整命令
#top -c
以批处理模式显示程序信息
#top -b
以累积模式显示程序信息
#top -S
设置信息更新次数
top -n 2
//表示更新两次后终止更新显示
设置信息更新时间
top -d 3
//表示更新周期为3秒
显示指定的进程信息
#top -p 139
//显示进程号为139的进程信息,CPU、内存占用率等
显示更新十次后退出
top -n 10
使用者将不能利用交谈式指令来对行程下命令
top -s
将更新显示二次的结果输入到名称为 top.log 的档案里
top -n 2 -b < top.log