歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> linux管理和進程(2)

linux管理和進程(2)

日期:2017/3/3 11:22:32   编辑:Linux技術

脫機管理問題:

在工作管理(job control)中提到的後台指的是在終端機模式下可以避免ctrl+c中斷,並非放在系統後台中去,也就是說依然和終端機有關,那麼若用遠程連接方式連接到linux主機,並將工作以&方式放到後台中,如果在工作未結束的情況下脫機了,該工作還會繼續嗎,答案是否,工作會被中斷

解決方法有兩種:一種是at命令,將工作放置到系統後台,而與終端機無關,第二種是nohup命令,這個命令可以讓你在脫機或者注銷系統後,還能夠讓工作繼續。

進程管理:相當重要

進程的查看:

ps:

ps aux 查看系統所有的進程數據

ps -l 僅查看自己的bash進程

僵屍進程(zombie):成因是因為進程已經執行完畢或者因故要終止,但是該進程的父進程卻無法完整將該進程結束掉,而造成那個進程一直存在內存中,若發現某個進程的CMD後面還接上<default>,代表是僵屍進程。

top:動態下查看進程的變化

第一行顯示的信息:開機時間,開機時長,已經登陸系統用戶人數,系統在1,5,15分鐘的負載,越小代表越閒置

第二行顯示的是目前進程的總量和個別進程的狀態:最後的zombie是僵屍進程,如果不是0就要注意了

第三行顯示的是cpu的整體負載:注意的是wa選項,這個代表的是IOwait,通常你的系統變慢都是IO產生的問題比較大

第四行與第五行:表示物理內存和虛擬內存(swap)的使用情況,如果swap使用量很多,表示物理內存真的不夠用

pstree:進程樹

pstree -A 列出系統所有的進程樹的相關性

可以看出所有的進程都是依附在init這個進程下面的,仔細看下,這個進程的PID是1號,因為是由linux內核主動調用的第一個進程,所以PID是一號。因此發生僵屍進程時需要重新啟動,因為init要重啟,二重啟init就是reboot

程序是如何互相管理的:其實就是通過給予進程一個信號(signal)去告知該進程你想讓它做什麼。因此信號很重要,可以自行 man signal

那麼如何傳送一個信號給某個進程呢?通過kill或killall。

kill -signal PID

killall -signal 命令名稱

比如:killall -1 syslogd 給予syslogd這個命令啟動的PID一個SIGHUP的信號

killall -9 httpd 強制終止所有以httpd啟動的進程

Copyright © Linux教程網 All Rights Reserved