顯示系統中的程序
ps:顯示系統中正在執行的程序。
顯示的資訊:
pid:程序識別號
tty:終端機號
time:此程序所消耗cpu時間
cmd:正在執行的命令或程序名
選項:-a:顯示當前終端的所有程序資訊
-u:以使用者的格式顯示程序資訊
-x:顯示後台程序執行的引數
一般使用方式:
ps -aux | more
ps -aux | grep ***
ps -ef | more
-ef是以全格式顯示當前所有的程序,-e顯示所有程序,-f全格式。結果中可以檢視pid的父程序ppid,ppid為0表示沒有父程序。
終止程序
kill [選項] 程序號
killall 程序名稱,通過程序名稱殺死程序,支援萬用字元,這在系統因負載過大而變得很慢時很有用
常用選項:
-9:強迫程序立即停止
示例:
1.踢掉xshell sshd登入的使用者
(1)先使用ps -aux | grep sshd 查詢到所有包含sshd的程序,在結果中找到對應使用者遠端登入的程序號pid
(2)kill pid
2.終止遠端登入服務sshd,在適當的時候再次重啟sshd服務
(1)在程序列表中找到sshd服務對應的程序號pid
(2)kill pid,這時在遠端就不能進行登入,但不會踢掉已經登入的使用者
(3)重啟電腦會自動開啟sshd服務,也可以手動開啟sshd服務
service sshd status
service sshd stop
service sshd start
3.終止多個gedit編輯器
gedit:圖形介面下的文字編輯器
(1)使用多個終端執行多次gedit命令開啟多個gedit編輯器
(2)新開乙個終端執行killall gedit指令就會殺死所有的gedit編輯器
如果乙個父程序開了很多子程序,那麼使用這個指令殺死父程序,就一窩端了,會把所有子程序也殺死
4.強制殺掉乙個終端
(1)乙個終端就是乙個bashshell,多開幾個終端,使用ps -aux | grep bash查詢終端對應的pid
(2)終端是比較重要的程序,不能直接關閉,所以使用-9強制關閉。kill -9 pid
檢視程序樹
pstree [選項]
以樹狀的結構更加直觀的檢視程序資訊
常用選項:
-p:顯示程序的pid
-u:顯示程序所屬使用者
動態監控程序
top與ps都用來顯示正在執行的程序,不同之處在於top在執行一段時間之後可以更新正在執行的程序,類似於windows的任務管理器。
top [選項]
常用選項:
-d:指定top命令每隔幾秒更新,預設是3秒
-p:使top不顯示任何閒置或僵死zombie程序
-i:通過指定pid來僅監控某個程序的狀態
互動操作,注意區分大小寫:
p:以cpu使用率排序,也是預設
m:以記憶體使用率排序
n:以pid排序
u:輸入使用者名稱,只顯示某乙個使用者
k:輸入程序號,kill程序
q:退出top
服務本質就是程序,但是執行在後台,因此又稱為守護程序,通常會監聽某個埠,等待其他程式的請求,比如mysql、sshd、防火牆iptables等。
監控網路(服務)狀態
netstat [選項]
只有網路服務才會監聽埠,所以使用這個指令可以看到正在監聽的埠
常用選項:
-an:按一定順序排列輸出
-p:顯示哪個程序正在呼叫
常用示例:
netstat -anp | more,檢視所有的網路服務
netstat -anp | grep ***,專門檢視某乙個網路服務
netstat -ntlp 檢視埠監聽狀態
檢視系統服務
1.setup指令 -> 選擇系統服務,有*的服務就是開機自啟動服務
2./etc/init.d/服務名稱
對服務進行操作
sevice 服務名 [start | stop | restart | reload | status]
centos7以後有的服務使用systemctl:system control
windows中可以使用telnet命令檢查linux某個埠是否在監聽,並且可以訪問(即檢測是否啟用了某個服務)。
telnet 目標ip 目標埠 例如:telnet 192.168.40.5 22 檢測sshd服務是否啟動
使用service對服務進行操作只是臨時的,reboot之後會返回以前對服務的設定,如果希望永久生效,需要使用chkconfig。
centos 7下防火牆服務的操作
centos 7下防護牆是firewalld不再是iptables,所以不能使用service iptables status
centos 7下使用防火牆:systemctl start firewalld
具體可以參考以下兩篇
centos 7防火牆詳解服務的執行級別–runlevel防火牆常用命令
這裡的執行級別其實和前面講的執行級別是同乙個概念。每乙個服務在不同執行級別下的自啟動狀態是不同的,開機啟動的時候init程序會在/etc/inittab中讀取預設執行級別,然後啟動這個執行級別下自啟動的服務。
chkconfig
chkconfig命令可以給各個執行級別設定自啟動/關閉。
基本語法:
chkconfig --list | grep ***
chkconfig 服務名 --list
chkconfig --level 5 服務名 on/off
chkconfig和service設定的區別:
service設定的是服務當前狀態開啟或關閉,不影響自啟動;chkconfig設定的是是否開啟這個服務的自啟動,不影響當前的狀態。所以reboot之後service的修改不再生效,chkconfig的設定開始生效。
注意!!!:
centos 7下chkconfig輸出結果只顯示 sysv 服務,並不包含
原生 systemd 服務。要列出 systemd 服務,請執行 『systemctl list-unit-files』。
linux實操篇 程序管理
程序管理 程序的基本介紹 在linux中,每個執行的程式都稱為乙個程序。每個程序都分配一id 每乙個程序,都會對應乙個父程序,這個父程序可以複製多個子程序 每個程序都可能以兩種方式存在,前台與後台,前台程序必須要在終端中執行,終端關閉或中斷都會使該程序結束,後台程序則是實際在操作,但螢幕上無法看到,...
Linux實操篇 使用者管理
linux系統是 乙個多使用者多工的作業系統,任何乙個要使用系統資源的使用者,都必須首先向系統管理員申請 乙個賬號,然後以這個賬號的身份進入系統。linux的使用者需要至少要屬於乙個組。useradd 選項 使用者名稱 新增乙個使用者xm 當建立使用者成功後,會自動的建立和使用者同名的家目錄。也可以...
Linux(實操篇) 使用者管理
示意圖 說明 linux系統是乙個多使用者任務的作業系統,任何乙個要使用系統資源的使用者,都必須首先向系統管理員申請乙個賬號,然後以這個賬號的身份進入系統。linux的使用者至少需要屬於乙個組。基本語法 useradd 選項 使用者名稱 cd change directory,切換目錄 當建立使用者...