【ps】查看进程

【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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值