linux服務進程查看和管理?廣義上的進程包括:由用戶啟動的進程、運行在後台的服務器服務、以及端口監控程序由于Linux是多用戶、多進程的操作系統,因此進程管理很重要在下面,我們介紹多種與進程管理有關的命令,我來為大家講解一下關于linux服務進程查看和管理?跟着小編一起來看一看吧!
linux服務進程查看和管理
1.1 進程管理廣義上的進程包括:由用戶啟動的進程、運行在後台的服務器服務、以及端口監控程序。由于Linux是多用戶、多進程的操作系統,因此進程管理很重要。在下面,我們介紹多種與進程管理有關的命令。
1.1.1 查出進程的狀态(ps)要想查出某一進程或多個進程的狀态,可以使用ps命令。也可以使用命令ps來确定正在運行的進程。運行該命令的格式如下:
$ps[options]
命令ps能使用的常見選項包括:
l -a顯示由當前終端啟動的所有進程。
l -f以樹形格式顯示進程的層次結構。
l -l顯示詳細列表(長格式)。
l -u按用戶定義的格式顯示信息。
l -x還應顯示那些不是由當前終端(tty)啟動的進程。
例如,如果打算顯示當前正在運行的所有進程,可以采用下述方式來運行ps命令:
$ps -ax
PIDTTYSTATTIMECOMMAND
21
1?S0:03init
2?SW0:00[kflushd]
3?SW0:00[kupdate]
4?SW0:00[kpiod]
5?SW0:00[kswapd]
6?SW<0:00[mdrecoveryd]
159?SW0:00[apmd]
169?S0:00syslogd-m0
177?S0:00klogd
187?S0:00/usr/sbin/atd
197?S0:00crond
208?SW0:00[inetd]
214?S0:00/usr/sbin/sshd
252?SW0:00[dpkeyserv]
262?SW0:00[papd]
267tty2S0:00login--root
268tty3SW0:00[mingetty]
269tty4SW0:00[mingetty]
270tty5SW0:00[mingetty]
271tty6SW0:00[mingetty]
要想以樹形格式顯示所有的當前進程,可按下述方式使用ps命令或使用命令pstree:
$ps –axf
$pstree
如果打算了解更多的,請參閱ps的manpage。
1.1.2 終止進程(kill)可以有選擇地終止當前正在運行的進程。要想執行該任務,可以使用kill或killall命令。命令kill的格式是:
$kill[options][PID]
$killall[OPTIONS][--]name
其中PID表示進程ID,這是指定給進程的具有唯一性的号碼。
Killall和kill的區别是killall使用進程名稱,kill使用進程ID号碼。
如果在圖形界面還可以使用xkill命令,然後用鼠标選擇要終止的進程号碼。
常用的選項如下:
-l列出所有的信号名。
-<signalnumber>将由參數“signalnumber”(信号号碼)指定的信号發送給進程。關于”(這些信号的詳細信息,請參閱kill命令的的manpage。
例如,如果打算顯示所有可用的信号号碼以及它們的名稱,可以按下述方式使用kill命令:
$kill -l
1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL
5)SIGTRAP6)SIGABRT7)SIGBUS8)SIGFPE
9)SIGKILL10)SIGUSR111)SIGSEGV12)SIGUSR2
13)SIGPIPE14)SIGALRM15)SIGTERM17)SIGCHLD
18)SIGCONT19)SIGSTOP20)SIGTSTP21)SIGTTIN
22)SIGTTOU23)SIGURG24)SIGXCPU25)SIGXFSZ
26)SIGVTALRM27)SIGPROF28)SIGWINCH29)SIGIO
30)SIGPWR31)SIGSYS32)SIGTRMIN…63)SIGRTMAX
如果省略了“signalnumber”(信号号碼),kill命令會發送一條軟終止信号(信号号碼為15,與SIGTERM對應)。
例如,可以按照下述方式,使用命令kill終止PID為555的進程,而無需指定信号号碼(signalnumber):
$kill555
要想強行中止某一進程,可指定-9選項,它對應于信号“SIGKILL”:
$kill-9555
& 提示:
要想對某一進程執行kill命令,必須具有超級用戶的權限,或是該進程的所有者。
,