查看进程ID:
[root@QLB data]# ps -ef | grep mysqld | grep -v "grep"
root 3988 1 0 Feb20 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql
mysql 4256 3988 2 Feb20 ? 01:08:10 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/QLB.err --pid-file=/usr/local/mysql/data/QLB.pid --socket=/tmp/mysqld.sock --port=3306
查看某个进程的所有线程:
[root@QLB data]# ps mp 4256 -o THREAD,tid
USER %CPU PRI SCNT WCHAN USER SYSTEM TID
mysql 2.5 - - - - - -
mysql 0.0 24 - - - - 4256
mysql 0.0 14 - futex_ - - 4258
mysql 0.0 23 - futex_ - - 4259
mysql 0.0 24 - futex_ - - 4260
mysql 0.0 24 - futex_ - - 4261
mysql 0.0 23 - futex_ - - 4262
mysql 0.0 24 - futex_ - - 4263
mysql 0.0 24 - futex_ - - 4264
mysql 0.0 24 - futex_ - - 4265
mysql 0.0 24 - futex_ - - 4266
mysql 0.0 24 - futex_ - - 4267
mysql 0.0 24 - futex_ - - 4269
mysql 0.0 24 - futex_ - - 4270
mysql 0.0 21 - futex_ - - 4271
mysql 0.0 24 - futex_ - - 4272
mysql 0.0 20 - - - - 4273
查看进程树:
[root@QLB data]# pstree -p 3988
mysqld_safe(3988)───mysqld(4256)─┬─{mysqld}(4258)
├─{mysqld}(4259)
├─{mysqld}(4260)
├─{mysqld}(4261)
├─{mysqld}(4262)
├─{mysqld}(4263)
├─{mysqld}(4264)
├─{mysqld}(4265)
├─{mysqld}(4266)
├─{mysqld}(4267)
├─{mysqld}(4269)
├─{mysqld}(4270)
├─{mysqld}(4271)
├─{mysqld}(4272)
└─{mysqld}(4273)
查看某个进程的状态信息:
[root@QLB data]# cat /proc/4256/status
Name: mysqld
State: S (sleeping)
SleepAVG: 98%
Tgid: 4256
Pid: 4256
PPid: 3988
TracerPid: 0
Uid: 102 102 102 102
Gid: 501 501 501 501
FDSize: 512
Groups: 501
VmPeak: 410032 kB
VmSize: 410032 kB
VmLck: 0 kB
VmHWM: 204356 kB
VmRSS: 199920 kB
VmData: 372332 kB
VmStk: 88 kB
VmExe: 8720 kB
VmLib: 3544 kB
VmPTE: 608 kB
StaBrk: 0ed3d000 kB
Brk: 136ae000 kB
StaStk: 7fff2268a570 kB
Threads: 16
SigQ: 0/69632
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000087007
SigIgn: 0000000000001006
SigCgt: 00000001800066e9
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
Cpus_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f
Mems_allowed: 00000000,00000001
Linux User’s Manual上的ps的使用例子:
1. To see every process on the system using standard syntax:
ps -e
ps -ef
ps -eF
ps -ely
2. To see every process on the system using BSD syntax:
ps ax
ps axu
3. To print a process tree:
ps -ejH
ps axjf
4. To get info about threads:
ps -eLf
ps axms
5. To get security info:
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
6. To see every process running as root (real & effective ID)
in user format:
ps -U root -u root u
7. To see every process with a user-defined format:
ps -eo
pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -eopid,tt,user,fname,tmout,f,wchan
8. Print only the process IDs of syslogd:
ps -C syslogd -o pid=
9. Print only the name of PID 42:
ps -p 42 -o comm=