天天看點

linux程序管理一.pstree檢視程序二、ps檢視程序三、top 互動式工具四、控制程序(程序前背景的排程)五、殺死程序

linux程序管理

一.pstree檢視程序

pstree檢視程序   
  常用指令選項
  -a:顯示完整的指令行
  -p:列出對應程序的PID編号

[root@www ~]# pstree -p zhangsan
bash(39290)───su(51704)───bash(51726)───pstree(73981)
[root@www ~]# pstree -a zhangsan
bash
  └─su - root
      └─bash
          └─pstree -a zhangsan
[root@www ~]# pstree -ap zhangsan
bash,39290
  └─su,51704 - root
      └─bash,51726
          └─pstree,74145 -ap zhangsan
[root@www ~]#

           

二、ps檢視程序

ps — Processes Snapshot
格式:ps  [選項]...
常用指令選項
 aux:顯示目前終端所有程序(a)、目前使用者在所有終端下的程序(x)、以使用者格式輸出(u)
 -elf:顯示系統内所有程序(-e)、以長格式輸出(-l)資訊、包括最完整的程序資訊(-f)
 
ps  aux 操作
 列出正在運作的所有程序,顯示程序資訊非常詳細
使用者  程序ID  %CPU  %記憶體  虛拟記憶體  固定記憶體  終端  狀态  起始時間  CPU時間  程式指令 
 
ps  -elf 操作
  列出正在運作的所有程序,顯示程序父程序資訊
  PPID為父程序的PID


[root@www ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.6 127984  6580 ?        Ss   00:37   0:01 /usr/lib/systemd/systemd --switched-root --system --deseriali
root          2  0.0  0.0      0     0 ?        S    00:37   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    00:37   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   00:37   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        S    00:37   0:02 [kworker/u256:0]
root          7  0.0  0.0      0     0 ?        S    00:37   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    00:37   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        R    00:37   0:01 [rcu_sched]


[root@www ~]# ps -elf
F S UID         PID   PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root          1      0  0  80   0 - 31996 ep_pol 00:37 ?        00:00:01 /usr/lib/systemd/systemd --switched-root --system
1 S root          2      0  0  80   0 -     0 kthrea 00:37 ?        00:00:00 [kthreadd]
1 S root          3      2  0  80   0 -     0 smpboo 00:37 ?        00:00:00 [ksoftirqd/0]
1 S root          5      2  0  60 -20 -     0 worker 00:37 ?        00:00:00 [kworker/0:0H]
1 S root          6      2  0  80   0 -     0 worker 00:37 ?        00:00:02 [kworker/u256:0]
1 S root          7      2  0 -40   - -     0 smpboo 00:37 ?        00:00:00 [migration/0]
1 S root          8      2  0  80   0 -     0 rcu_gp 00:37 ?        00:00:00 [rcu_bh]
           

三、top 互動式工具

格式:top  [-d  重新整理秒數]  [-U  使用者名]
 
按大寫P進行CPU排序
按大寫M進行記憶體排序
 
pgrep — Process Grep
 用途:pgrep  [選項]...  查詢條件
常用指令選項
 -l:輸出程序名,而不僅僅是 PID
 -U:檢索指定使用者的程序
 -x:精确比對完整的程序名

 注意:U必須放到最後
           

四、控制程序(程序前背景的排程)

程序的前背景排程
  &符号:正在運作的狀态放入背景
   Ctrl + z 組合鍵: 挂起目前程序(暫停并轉入背景)
•    jobs 指令   檢視背景任務清單
•    fg 指令     将背景任務恢複到前台運作
•    bg 指令    激活背景被挂起的任務
 
[root@localhost ~]# yum -y  install  xorg-x11-apps
[root@localhost ~]# xeyes
^Z             #按Ctrl+z  暫停放入背景,适用于程式已經在運作,我們可以按ctrl+z來停止
[1]+  已停止               xeyes
[root@localhost ~]# jobs     #檢視背景程序資訊
[root@localhost ~]# bg 1     #讓背景編号為1 的程序繼續運作,就是剛才ctrl+z暫停了,此時我們bg可以再啟動
 
[root@localhost ~]# jobs     #檢視背景程序資訊
[root@localhost ~]# fg  1   #讓背景編号為1 的程序恢複到前台
xeyes
^C           #按Ctrl+c   結束
[root@localhost ~]#
 
           

五、殺死程序

殺死程序的不同方法
 Ctrl+c 組合鍵,中斷目前指令程式
 kill     [-9]  PID... 、kill  [-9]  %背景任務編号
 killall  [-9]  程序名...
 pkill    [-9]  查找條件 
 
[root@localhost ~]# xeyes &         #&符号為放入背景運作
[root@localhost ~]# xeyes &
[root@localhost ~]# xeyes &
 
[root@localhost ~]# jobs -l
[1]+  8999 運作中               xeyes &
[root@localhost ~]# kill -9  8999 
[1]+  已殺死               xeyes
[root@localhost ~]# jobs -l
[root@localhost ~]# killall    xeyes
 
 
殺死一個使用者開啟的所有程序(踢出一個使用者)
[root@localhost ~]# killall -9 -u zhangsan
 
           

繼續閱讀