Linux服務器正常啟動後,提供服務時會調用程序,占用進程。這時候如何查看系統中有哪些進程在被調用呢?我們可以通過以下命令來查看。
1.ps
ps命令是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和它所運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等。總之大部分信息都是可以通過執行該命令得到的。ps命令最常用來監控後台進程的工作情況,因為後台進程是不和屏幕、鍵盤這些標准輸入/輸出設備進行通信的,所以如果需要檢測後台情況,就需要使用ps命令了。它的格式如下所示:
格式:ps [選項] 其主要選項如下。
-a:顯示系統中所有進程的信息。
-e:顯示所有進程的信息。
-f:顯示進程的所有信息。
-l:以長格式顯示進程信息。
-r:只顯示正在運行的進程。
-u:顯示面向用戶的格式(包括用戶名、CPU及內存的使用情況等信息)。
-x:顯示所有非控制終端上的進程信息。
-p:顯示由進程ID指定的進程信息。
-t:顯示指定終端上的進程信息。
要對進程進行監測和控制,首先要了解當前進程的情況,當然也就需?榭吹鼻敖痰淖刺恕Mü齪s命令查看進程,根據所顯示的信息可以了解哪個進程正在運行、哪個進程被掛起了、進程已運行了多久、進程正在使用的資源、進程的相對優先級,以及進程的標志號(PID)。所有這些信息對用戶都很有用,對於系統管理員來說尤為重要。使用ps -aux命令可以獲得終端上所有用戶的有關進程的所有信息,這個也是我們平時用得最多的命令之一,如下所示:
[root@localhost ~]# ps axu
USER PID %CPU %MEMVSZ RSS TTYSTAT START TIME COMMAND
root 10.00.010348 688 ?SsMar160:01 init [5]
root 20.00.000 ?S<Mar160:00 [migration/0]
root 30.00.000 ?SNMar160:00 [ksoftirqd/0]
root 40.00.000 ?S<Mar160:00 [watchdog/0]
root 50.00.000 ?S<Mar160:00 [migration/1]
root 60.00.000 ?SNMar160:00 [ksoftirqd/1]
...
avahi31530.00.023148336 ?SsMar160:00 avahi-daemon: chroot helper
root32140.00.018416476 ?SMar160:00 /usr/sbin/smartd -q never
root32190.00.03792488 tty1Ss+Mar160:00 /sbin/mingetty tty1
root32200.00.03792484 tty2Ss+Mar160:00 /sbin/mingetty tty2
root32210.00.03792488 tty3Ss+Mar160:00 /sbin/mingetty tty3
root32220.00.03792488 tty4Ss+Mar160:00 /sbin/mingetty tty4
root32240.00.03792488 tty5Ss+Mar160:00 /sbin/mingetty tty5
root32260.00.03792488 tty6Ss+Mar160:00 /sbin/mingetty tty6
root32330.00.01699122756 ?SsMar160:00 /usr/sbin/gdm-binary -nodaemon
root33220.00.01971242564 ?SMar160:00 /usr/sbin/gdm-binary -nodaemon
root33240.00.11898084112 ?SlMar160:00 /usr/libexec/gdm-rh-security-token-helper
root33250.00.1905486264 tty7Ss+Mar160:02 /usr/bin/Xorg :0 -br -audit 0 -auth /var/gdm/:0.Xauth -oli
root33390.00.425792016784 ?SNMar160:20 /usr/bin/python -tt /usr/sbin/yum-updatesd
root33410.00.0129161188 ?SNMar160:00 /usr/libexec/gam_server
gdm33510.00.837961236176 ?SsMar160:00 /usr/libexec/gdmgreeter
root43420.00.041096896 ?SsMar160:00 nginx: master process /usr/local/webserver/nginx/sbin/nginx
www43430.00.66592026232 ?SMar160:05 nginx: worker process
www43440.00.66592026160 ?SMar160:02 nginx: worker process
www43450.00.66607626460 ?SMar160:03 nginx: worker process
www43460.00.66592026104 ?SMar160:03 nginx: worker process
www43470.00.66605226228 ?SMar160:04 nginx: worker process
www43480.00.66601226372 ?SMar160:04 nginx: worker process
www43490.00.66578826076 ?SMar160:03 nginx: worker process
www43500.00.66592026188 ?SMar160:06 nginx: worker process
root53140.00.000 ?SMar280:00 [pdflush]
root53150.00.000 ?SMar280:00 [pdflush]
root67670.00.0682841564 tty8Ss+Mar170:00 /bin/bash
root103690.00.065556932 pts/2R+14:230:00 ps -axu
root189060.06.41443024261272 ?Sl00:150:46 /usr/local/jdk/bin/java -Djava.util.logging.config.file=/us
root205730.00.0901403344 ?Ss09:020:00 sshd: root@pts/2
root205750.00.0684121756 pts/2Ss09:020:00 -bash