您的位置:首页 > 其它

【ps】查看进程

2016-04-12 17:00 281 查看
【ps】查看进程

# ps aux | less //显示所有运行中的进程

其中

-A: 显示所有进程

a:显示终端中包括其他用户的所有进程

x:显示无控制终端的进程

任务:查看系统中的每个进程。

# ps -A

# ps -e任务:查看非root运行的进程

# ps -U root -u root -N任务:查看用户vivek运行的进程

# ps -u vivek任务:top命令

top命令提供了运行中系统的动态实时视图。在命令提示行中输入top:

按q退出,按h进入帮助。

任务:显示进程的树状图。

pstree以树状显示正在运行的进程。树的根节点为pid或init。如果指定了用户名,进程树将以用户所拥有的进程作为根节点。

$ pstree

任务:使用ps列印进程树

# ps -ejH

# ps axjf任务:获得线程信息

输入下列命令:

# ps -eLf

# ps axms任务:获得安全信息

输入下列命令:

# ps -eo euser,ruser,suser,fuser,f,comm,label

# ps axZ

# ps -eM任务:将进程快照储存到文件中

输入下列命令:

# top -b -n1 > /tmp/process.log你也可以将结果通过邮件发给自己:

# top -b -n1 | mail -s 'Process snapshot' you@example.com任务:查找进程

使用pgrep命令。pgrep能查找当前正在运行的进程并列出符合条件的进程ID。例如显示firefox的进程ID:

$ pgrep firefox下面命令将显示进程名为sshd、所有者为root的进程。

$ pgrep -u root sshd

-----------------------------------------------------------------------------

【ps】Process State 查看进程

SysV风格:-

BSD风格:不加-

ps:默认显示前台进程

参数:

BSD风格

【a】:显示所有与终端有关的进程

【u】

【s】:显示与终端无关的进程

SysV风格

【-e】:所有进程

【-l】:相当于u

【-F】:相当于s

【-o】:显示指定字段

ps -o PROPERTY1,PROPERTY2

例如: ps -o pid,comm,ni

ps -axo pid,comm,ni

如果只指定字段,不指定显示那些进程,通常会显示ps的默认进程。

ps:默认显示前台进程

ps

-elF

-ef

-eF

--------------------------------字段介绍--------------------

[root@gdy 1]# ps aux | head

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.0 2900 1448 ? Ss 17:39 0:01 /sbin/init

root 2 0.0 0.0 0 0 ? S 17:39 0:00 [kthreadd]

root 3 0.0 0.0 0 0 ? S 17:39 0:00 [migration/0]

root 4 0.0 0.0 0 0 ? S 17:39 0:00 [ksoftirqd/0]

root 5 0.0 0.0 0 0 ? S 17:39 0:00 [migration/0]

root 6 0.0 0.0 0 0 ? S 17:39 0:00 [watchdog/0]

root 7 0.0 0.0 0 0 ? S 17:39 0:01 [migration/1]

root 8 0.0 0.0 0 0 ? S 17:39 0:00 [migration/1]

root 9 0.0 0.0 0 0 ? S 17:39 0:00 [ksoftirqd/1]

[root@gdy 1]#

-----------------------------

USER:进程的用户,即谁发起的这个进程

PID:进程号

%CPU:占用cpu的百分比(自己进占据cpu的使用时间与cpu的使用时间的百分比)

%MEM:占用物理内存的百分比

VSZ:虚拟内存集

RSS:常住内存集

TTY:关联到那个终端,?表示与终端无关

STAT:进程状态

TIME:时间(运行时长)

COMMAND:命令,表示那个命令启动的该进程,如果用【[]】括起来表示是内核线程

------------------------------------字段介绍-------------------------------

[root@gdy 1]# ps -elF | head

F S UID PID PPID C PRI NI ADDR SZ WCHAN RSS PSR STIME TTY TIME CMD

4 S root 1 0 0 80 0 - 725 - 1448 1 17:39 ? 00:00:01 /sbin/init

1 S root 2 0 0 80 0 - 0 - 0 1 17:39 ? 00:00:00 [kthreadd]

1 S root 3 2 0 -40 - - 0 - 0 0 17:39 ? 00:00:00 [migration/0]

1 S root 4 2 0 80 0 - 0 - 0 0 17:39 ? 00:00:00 [ksoftirqd/0]

1 S root 5 2 0 -40 - - 0 - 0 0 17:39 ? 00:00:00 [migration/0]

5 S root 6 2 0 -40 - - 0 - 0 0 17:39 ? 00:00:00 [watchdog/0]

1 S root 7 2 0 -40 - - 0 - 0 1 17:39 ? 00:00:01 [migration/1]

1 S root 8 2 0 -40 - - 0 - 0 1 17:39 ? 00:00:00 [migration/1]

1 S root 9 2 0 80 0 - 0 - 0 1 17:39 ? 00:00:00 [ksoftirqd/1]

[root@gdy 1]#

---------------------------------------------------------------------------

PRI:优先级

NI:nice值

PSR:正在运行在那个CPU上

进程的分类:

与终端相关的进程

与终端无关的进程

进程状态:

D:不可中断的睡眠

R:运行或就绪

S:可中断的睡眠

T:停止

Z:僵死

<:高优先级进程

N:低优先级进程

+:前台进程组中的进程

l:多线程进程

s:会话进程首进程

---------------------------------------------------

相关命令:

【pstree】显示进程树

【pgrep】按照grep查找显示进程

例如:

pgrep -u root bash //是root用户的并且是bash的进程

pgrep bash
//显示所有bash进程

【pidof】指定进程名寻找其pid号

例如:

pidof /bin/bash//查看/bin/bash进程的id号

pidof sshd

【top】动态显示进程使用情况

【free】查看当前系统上物理内存和交换分区使用情况

【kill】结束进程

【pkill】根据进程名杀死进程,与pgrep类似

前台:占据了命令提示符

后台:启动之后,释放命令提示符,后续的操作在后台完成。

前台---》后台:

Ctrl+z 把正在前台的作业送往后台

COMMAND & 让命令在后台执行

【bg】让后台停止的作业继续运行

【jobs】查看后台的所有作业

作业号,不同于进程号

+:命令将默认操作的作业

-:命令将第二个默认被操作的作业。

【fg】将后台的作业调回前台

fg [%JOBID] //这里面的%可以省略

kill %JOBID:终止某作业//这里%不能省略

【vmstat】系统状态查看命令

【uptime】与top的第一行一样

/proc/meminfo 内存信息文件

/etc/cupinfo cpu信息文件

cat /proc/1/maps

可以查看当前进程1所占据的内存信息

-------------------------------附加---------------------------------------------

-o Format 以 Format 变量指定的格式显示信息。可以为 Format 变量指定多个字段说明符。Format 变量或者是一个由逗号分隔的字段说明符列表或是一个由“”(双引号)引起来的之间用逗号或一个或多个空格或两者分隔的说明符列表。

每个字段说明符有一个缺省头。通过为头附加一个=(等号),后跟用户定义的文本,可以覆盖缺省头。写字段的顺序采用命令行中列格式指定的方式。字段宽度由系统指定,它至少为缺省的或用户定义的头文本宽度。如果头文本为空,(例如如果指定 -o user=),字段宽度至少为缺省头文本宽度。如果所有头字段都为空,不写头行。

系统标识下列字段说明符:

【args】 说明正在执行的完整命令名。包含所有命令行参数,尽管可能发生截断。该字段的缺省头为 COMMAND。

【bnd】 表示进程或内核线程绑定到哪个(如果有)处理器。该字段的缺省头为 BND。

【class】 表示为该进程分配的工作负荷管理类。该字段的缺省头为 CLASS。

【comm】 表示正在执行的命令的短名称。不包含命令行参数。该字段的缺省头为 COMMAND。

【cpu】 确定进程调度优先级。每次系统时钟周期和发现进程或线程运行时增加进程或线程的 CPU 利用率。调度程序通过每秒除 2 将该值衰减。对于 sched_other 策略,大值表示一个 CPU 密集处理且造成更低的进程优先级而小值表示一个 I/O 密集处理且造成更高的优先级。

【etime】 表示进程启动后所用的时间。所用时间以下列格式显示:

[[ dd-]hh:]mm:ss

其中 dd 指定天数,hh 指定小时数,mm 指定分钟数及 ss 指定秒数。该字段的缺省头为 ELAPSED。

【group】 表示该进程的有效组标识。显示文本组标识。如果不能得到文本组标识,使用十进制表示。该字段的缺省头为 GROUP。

【nice】 表示进程细调值的十进制值。该字段的缺省头为 NI。

-o Format(续)

【pcpu】 表示使用的 CPU 时间占可用 CPU 时间的比例,以百分比表示。该字段的缺省头为 %CPU。

【pgid】 表示进程组标识的十进制值。该字段的缺省头为 PGID。

【pid】 表示进程标识的十进制值。该字段的缺省头为 PID。

【ppid】 表示父进程标识的十进制值。该字段的缺省头为 PPID。

【rgroup】 表示该进程的实际组标识。显示文本组标识。如果不能得到文本组标识,使用十进制表示。该字段的缺省头为 RGROUP。

【ruser】 表示该进程的实际用户标识。显示文本用户标识。如果不能得到文本用户标识,使用十进制表示。该字段的缺省头为 RUSER。

【scount】 表示内核线程的暂挂数。该字段的缺省头为 SC。

【sched】 表示内核线程的调度策略。该字段的缺省头为 SCH。

【tag】 表示工作负荷管理器应用程序标记。该字段的缺省头为 TAG。该标记为一个字符串,它不超过 30 个字符长且由 ps 显示时可能会截断。对于不设置标记的进程,该字段显示为一个 -(连字符)。

【tcpu】 总 CPU 时间。指示单个进程的总累积 CPU 时间。该字段的缺省头为 TCPU。

【tctime】 总连接时间。指示登录会话可会活动时的时间总量。这仅在会话引导进程中才有意义。该字段的缺省头为 TCTIME。

【tdiskio】 总磁盘 I/O。指示单个进程的 I/O 的总累积块数。该字段的缺省头为 TDISKIO。

-o Format(续)

【thcount】 表示该进程拥有的内核线程数。该字段的缺省头为 THCNT。

【THREAD】 表示下列字段:

用户名(uname 字段)

进程的进程及父进程标识(pid 和 ppid 字段)

线程的内核线程标识(tid 字段)

进程或内核线程的状态(S 字段)

进程或内核线程的 CPU 利用率(C 字段)

进程或内核线程的优先级(PRI 字段)

进程或内核线程的暂挂数( scount 字段)

进程或内核线程的等待通道( WCHAN 字段)

进程或内核线程的标志(F 字段)

进程的控制终端(tty 字段)

进程或内核线程绑定到的 CPU (bnd 字段)

正在由进程执行的命令(comm 字段)

使用 -o THREAD 标志实际上不显示线程,除非也指定 -m 标志。

【tid】 表示内核线程的线程标识。该字段的缺省头为 TID。

【time】 表示进程启动后的累计 CPU 时间。时间以下列格式显示:

[ dd-]hh:mm:ss

其中 dd 指定天数,hh 指定小时数,mm 指定分钟数及 ss 指定秒数。该字段的缺省头为 TIME。

【tty】 表示该进程的控制终端名。该字段的缺省头为 TT。

【user】 表示该进程的有效用户标识。显示文本用户标识。如果不能得到文本用户标识,使用十进制表示。该字段的缺省头为 USER。

【vsz】 使用十进制整数表示虚拟内存中进程的大小,以千字节为单位。该字段的缺省头为 VSZ。

-o Format(续)

否则,通过 Format 变量,可以显示指定格式的多个字段,包括字段描述符。如果在 Format 变量中使用字段描述符,它必须包含在双引号(" ")内。下表显示了字段描述符如何对应字段说明符:

字段 字段 缺省值

描述符 说明符 头

%a args COMMAND

%c comm COMMAND

%t etime ELAPSED

%G group GROUP

%n nice NI

%C pcpu %CPU

%r pgid PGID

%p pid PID

%P ppid PPID

%g rgroup RGROUP

%u ruser RUSER

%x time TIME

%y tty TTY

%U user USER

%z vsz VSZ
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: