RHCE7認證學習筆記7——監視和管理程式

luashin發表於2016-03-14

1、檢視程式

某個程式的基礎上生成了另一個程式,則它們為父子程式; 
[root@linuxidc ~]# pstree

├─sshd───sshd───bash───pstree

[root@linuxidc ~]# ps
  PID TTY          TIME CMD
 2797 pts/0    00:00:00 bash
 2874 pts/0    00:00:00 ps

檢視所有程式,x表示顯示不屬於任何終端的子程式,即tty顯示為?,ps -ef等同於ps aux,不同的系統風格而已:
[root@linuxidc ~]# ps aux
USER      PID %CPU %MEM    VSZ  RSS TTY(終端)      STAT(狀態) START  TIME COMMAND
root        1  0.2  0.7  53676  7580 ?        Ss  17:49  0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 24
root        2  0.0  0.0      0    0 ?        S    17:49  0:00 [kthreadd]
root        3  0.0  0.0      0    0 ?        S    17:49  0:00 [ksoftirqd/0]

    如果只顯示某幾列的值,則可以使用以下命令,比如只想顯示PID,CPU,MEM:
[root@linuxidc ~]# ps -ex -o pid,%cpu,%mem --noheader|head
    1  0.1  0.7
    2  0.0  0.0
    3  0.0  0.0
    5  0.0  0.0
    6  0.0  0.0
    7  0.0  0.0
    8  0.0  0.0
    9  0.0  0.0
  10  0.0  0.0
  11  0.0  0.0

動態顯示系統的程式資訊,使用top命令,可以在top命令後面加上時間選項,調整程式顯示頻率,如top 1:

top - 18:22:31 up 33 min,  2 users,  load average: 0.00, 0.01, 0.06
Tasks: 255 total,  2 running, 253 sleeping,  0 stopped,  0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:  1010860 total,  590376 used,  420484 free,      884 buffers
KiB Swap:  2097148 total,        0 used,  2097148 free.  218452 cached Mem
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM    TIME+ COMMAND                                                           
 3249 root      20  0  123776  1764  1156 R  0.3  0.2  0:00.08 top                                                             
    1 root      20  0  53676  7580  2524 S  0.0  0.7  0:03.04 systemd

2、檢視程式的訊號
常用的訊號為:9——殺死程式,15——終止程式;2——相當於ctrl+c;使用方式:kill -9 PID,kill如果不指定訊號值,則預設指15

[root@linuxidc ~]# kill -l
 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL10) SIGUSR1
11) SIGSEGV12) SIGUSR213) SIGPIPE14) SIGALRM15) SIGTERM
16) SIGSTKFLT17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP
21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU25) SIGXFSZ
26) SIGVTALRM27) SIGPROF28) SIGWINCH29) SIGIO30) SIGPWR
31) SIGSYS34) SIGRTMIN35) SIGRTMIN+136) SIGRTMIN+237) SIGRTMIN+3
38) SIGRTMIN+439) SIGRTMIN+540) SIGRTMIN+641) SIGRTMIN+742) SIGRTMIN+8
43) SIGRTMIN+944) SIGRTMIN+1045) SIGRTMIN+1146) SIGRTMIN+1247) SIGRTMIN+13
48) SIGRTMIN+1449) SIGRTMIN+1550) SIGRTMAX-1451) SIGRTMAX-1352) SIGRTMAX-12
53) SIGRTMAX-1154) SIGRTMAX-1055) SIGRTMAX-956) SIGRTMAX-857) SIGRTMAX-7
58) SIGRTMAX-659) SIGRTMAX-560) SIGRTMAX-461) SIGRTMAX-362) SIGRTMAX-2
63) SIGRTMAX-164) SIGRTMAX

可以使用pgrep和pidof直接檢視程式PID,兩個命令的區別是pidof是精確匹配,pgrep支援模糊匹配:
[root@linuxidc ~]# pgrep ssh
1621
2793

ctrl+z可以讓程式在後臺執行,透過jobs命令可以檢視後臺執行的程式,bg 後臺PID和fg PID可以讓程式在後臺或者前臺執行,要殺死後臺執行的程式,可以使用命令:kill -9 %1(後臺執行的PID):

透過使用nohup命令可以讓程式在後臺執行,即使終端關閉,程式也會繼續執行:
[root@linuxidc ~]# nohup firefox %> /dev/null &

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9034054/viewspace-2056745/,如需轉載,請註明出處,否則將追究法律責任。

相關文章