一、程序管理
(一)程序檢視與管理
1、常用的程序管理命令
ps aux 檢視程序
pstree 樹狀檢視程序狀態
top 動態檢視程序狀態
2、程序的管理
ctrl + z 將前台程序調入後台並暫停
jobs 檢視後台程序
fg # 將後台第#個程序在前台執行
& 直接將前台程序放在後台執行
kill 、 killall 結束程序
(二)檢視
1、輸入命令:ps aux(all user x更詳資訊)
user-->使用者 當前程序是誰啟動的
pid-->程序號
%cpu -->占用cpu情況
vsz rss -->不太重要 虛擬記憶體 路由記憶體占用情況
tty-->終端(ctrl+alt+f2進入終端)?表示不占用終端
stat-->狀態
s-->sleeping休眠狀態
r-->runing
+-->表示前台執行
ss-->有子程序
z-->zombie殭屍程序(開發不完善的程式在關閉的時候造成的)
l-->還有由這個程序開啟的其他程序
其餘的不重要
注意:ps aux 和pstree 檢視程序狀態,都是當前一瞬間的,並不是時時的
2、top命令實時的
1、分析上面的內容
2、實際上是存在游標的
1、輸入h 顯示幫助
2、輸入m (大寫,不顯示)按記憶體佔用率排序(降序)
3、輸入p(大寫)cpu佔用率排序
4、q退出
實驗(一)建立乙個程式,占用大量記憶體
實驗步驟:
1、建立檔案 vim test.sh
2、 #/bin/bash //使用當前命令直譯器
while [ 5 -gt 3 ] //5>3
doecho "kaso" //輸出kaso
done
3、儲存退出
4、新增執行許可權
chmod +x test.sh
5、開啟另外乙個終端
top 輸入p
發現test.sh占用比較高
結束該程式:輸入k 提示輸入要殺死的pid 輸入pid後,提示按什麼級別殺死 輸入9最高端別
6、回到另乙個終端檢視 輸出結束了
3、程序管理
終端輸入 firefox(開啟火狐瀏覽器)
稍等,火狐瀏覽器啟動了,但是發現終端輸入命令,不好使了因為,火狐瀏覽器在執行,占用了當前的終端
在另外乙個終端,輸入 ps -p |grep firefox發現程序有:
乙個終端,乙個命令直譯器, 乙個主程序,剩下的全是子程序,
想要結束火狐程序,殺掉主程序就好,因為殺死子程序,主程序還會在自動開啟這個子程序
停止程序:
回到被占用的終端,ctrl+z 可以將火狐暫停,放入後台 top檢視有乙個stop的程序 看圖形介面的火狐瀏覽器狀態
喚醒停止的程序:
jobs 檢視當情被停止的程序
fg 1 // 將後台停止的程序再次開啟 數字1是被停止的後台程序序列號
關閉程序:
可以直接在圖形化介面關閉瀏覽器即可
開啟程序後台執行:
firefox &
killall:
並不是殺掉所有程序
例如:killall firefox 不知道firefox的pid,直接提供程序的名字,killall就會將所有與該名字有關的程序全部殺死
Linux程序部分筆記
程式是靜態的概念,gcc c o pro磁碟中生成pro檔案,叫做程式。程序是程式的一次執行活動,通俗點意思是程式跑起來了,系統中就多了乙個程序 使用指令ps aux可以檢視所有程序 使用ps aux grep 可以只查詢想要的程序 每個程序都有乙個非負整數表示的唯一id,叫做pid,類似身份證。利...
Linux 程序管理筆記
程序管理命令 ps 顯示程序資訊 ps 只顯示當前終端看到的程序 e 顯示不同終端的所有程序 可用ps e more分頁顯示 ef 顯示程序資訊的同時包含父程序 ppid elf 顯示程序資訊的同時包含執行緒資訊nlwp 即為輕量級執行緒數 pid為是程序唯一識別符號 程序可以重名 tty為執行程序...
工作管理 程序管理 (Linux筆記)
一 工作管理 1 直接將命令丟到後台中執行 eg tar jcv f infor t.tar.bz2 infor test1 將test1壓縮 2 ctrl z 將目前的工作丟到後台中暫停 3 jobs 檢視目前後台工作狀態 jobs lsr l 除了列出job number與命令串外,還列出pid...