1、ps 进程状态查询命令。
命令格式#ps [[选项]]
常用选项:
* -a,显示任何用户进程。
* -e,显示进程环境变量。
* -l,给出长列表。
* -r,只显示正在运行的进程。
* -S,增加CPU时间和页面出错。
* -w,按宽格式显示输出。默认情况下,假如输出结果不能在一行里显示,将会缩短结果输出。使用这个选项能够避免这个问题
* -txx,只显示受tty.xx控制的进程。
* -u,打印用户格式,显示用户名和进程的起始时间。
* -x,显示不带控制终端的进程。
命令使用说明:
例子:
例A:分页显示任何的进程,同时显示进程的用户名和起始时间。命令如下:
#ps -axu | more
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.2 0.1 1388 492 ? S 22:06 0:04 init
root 2 0.0 0.0 0 0 ? SW 22:06 0:00 [keventd]
root 3 0.0 0.0 0 0 ? SWN 22:06 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? SW 22:06 0:00 [kswapd]
root 5 0.0 0.0 0 0 ? SW 22:06 0:00 [bdflush]
root 6 0.0 0.0 0 0 ? SW 22:06 0:00 [kupdated]
root 8 0.0 0.0 0 0 ? SW 22:06 0:00 [kjournald]
root 1077 0.0 0.1 1360 400 tty4 S 22:09 0:00
/sbin/mingetty tty4
root 1078 0.0 0.1 1360 400 tty5 S 22:09 0:00
/sbin/mingetty tty5
root 1079 0.0 0.1 1360 400 tty6 S 22:09 0:00
/sbin/mingetty tty6
........
ps命令输出字段的含义:
* USER,进程任何者的用户名。
* PID,进程号,能够唯一标识该进程。
* %CPU,进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。
* %MEM,进程使用内存的百分比。
* VSZ,进程使用的虚拟内存大小,以K为单位。
* RSS,进程占用的物理内存的总数量,以K为单位。
* TTY,进程相关的终端名。
* STAT,进程状态,用(R--运行或准备运行;S--睡眠状态;I--空闲;Z--冻结;D--不间断睡眠;W-进程没有驻留页;T停止或跟踪。)这些字母来表示。
* START,进程开始运行时间。
* TIME,进程使用的总CPU时间。
* COMMAND,被执行的命令行。
2、kill 结束进程命令。
命令格式:#kill [[选项]] [[信号]]
常用选项:
* -s,指定需要送出的信号。既能够是信号名也能够对应数字。
* -p,指定kill命令只是显示进程的PID,并不真正送出结束信号。
* -l,打印能够用kill送的信号名表,能够在/usr/include/linux/signal.h文档中找到。
[[信号]]
送入可选信号,默认值是SIGTERM,其他常用的两个值是---SIGHUP(是调制解调器通过电话挂起的设备)和SIGKILL(不能被
进程忽略)。
命令使用说明:
用这个命令来结束正在运行的程式,能够达到windows下“任务管理器”的功效。特别是在某一进程运行老是没什么结果出
现象死机相同的时候,可能这个命令杀到那个进程,使系统恢复正常。
例子:
例A:杀掉上例A中的cupsd进程。命令如下:
#kill 945
例B:显示kill的任何信号。
#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 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 35) SIGRTMIN 36) SIGRTMIN+1
37) SIGRTMIN+2 38) SIGRTMIN+3 39) SIGRTMIN+4 40) SIGRTMIN+5
41) SIGRTMIN+6 42) SIGRTMIN+7 43) SIGRTMIN+8 44) SIGRTMIN+9
45) SIGRTMIN+10 46) SIGRTMIN+11 47) SIGRTMIN+12 48) SIGRTMIN+13
49) SIGRTMIN+14 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
linux上进程有5种状态:
1. 运行(正在运行或在运行队列中等待)
2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct ("zombie") process
注: 其它状态还包括W(无驻留页), <(高优先级进程), N(低优先级进程), L(内存锁页).
使用ps格式输出来查看进程状态:
ps -eo user,stat..,cmd
user 用户名
uid 用户号
pid 进程号
ppid 父进程号
'size' 内存大小, Kbytes字节.
v'size' 总虚拟内存大小, bytes字节(包含code+data+stack)
share 总共享页数
nice 进程优先级(缺省为0, 最大为-20)
priority(pri) 内核调度优先级
pmem 进程分享的物理内存数的百分比
trs 程序执行代码驻留大小
rss 进程使用的总物理内存数, Kbytes字节
time 进程执行起到现在总的CPU暂用时间
stat 进程状态
cmd(args) 执行命令的简单格式
例子:
查看当前系统进程的uid,pid,stat,pri, 以uid号排序.
ps -eo pid,stat,pri,uid --sort uid
查看当前系统进程的user,pid,stat,rss,args, 以rss排序.
ps -eo user,pid,stat,rss,args --sort rss
阅读(1903) | 评论(0) | 转发(0) |