上一篇跟大家說明一下概念,而這一篇會跟大家分享實作的技巧~
首先,我先跟大家分享一下有哪些指令可以使用
指令 | 功能 |
---|---|
ps | 是Linux 中最基礎的瀏覽系統中的進程的命令。能列出系統中運行的進程,包括進程號、指令、CPU使用量、記憶體使用量等。下述選項可以得到更多有用的消息 |
pstree | linux中,每一個進程都是由其父進程所建立的。此指令以視覺化方式顯示進程,透過顯示進程的樹狀圖來展示進程間關係。如果指定了 pid 了,那麼樹的根是該 pid,不然會是init(pid:1) |
top | 可以監視系統中不同的程序所使用的資源。它提供即時的系統狀態資訊。顯示進程的資料包括 PID、進程屬主、優先權、%CPU、%memory等。可以使用這些顯示指示出資源使用量 |
nice | 透過nice 指令的幫助,使用者可以設定和改變進程的優先權。提高一個行程的優先權,核心會分配更多CPU時間片給這個行程。預設情況下,進程以0的優先權啟動。進程優先權可以透過top 指令顯示的NI(nice value)列來查看 |
renice | 使用這個指令可以改變正在執行的進程優先值。注意,使用者只能改變屬於他們自己的進程的優先值 |
kill | 這個命令用於發送訊號來結束進程。如果一個行程沒有回應殺死指令,這也許就需要強制殺死,使用-9參數來執行。注意,使用強制殺死的時候一定要小心,因為進程沒有時機清理現場,也許寫入文件沒有完成。如果我們不知道進程PID或打算用名字殺死進程時候,killall 就能派上用場 |
ulimit | 此指令用於控制系統資源在shell 和進程上的分配量。對於系統管理員是最有用的,可以管理重度使用和有效能問題的系統。限制資源大小可以確保重要進程持續運行,其他進程不會佔用過多資源 |
w | 提供目前登入的使用者及其正在執行的進程的資訊。顯示訊息頭包含訊息,如當前時間、系統執行時間、登入使用者總數、過去的1,5,15分鐘內的負載平衡數 |
pgrep | 此命令掃描目前運行進程,然後按照命令匹配條件列出匹配結果到標準輸出。對於透過名字檢索進程號是很有用 |
fg, bg | 有時,命令需要很長的時間才能執行完成。對於這種情況,我們使用bg 指令可以將任務放在後台執行,而用fg 可以調到前台來使用 |
ipcs | 報告進程間通訊設施狀態。 (共享內存,信號量和訊息隊列) |
首先我們可以先使用 ps
來看看我們的電腦是否有東西在運行
確認完後,我們可以新建一個腳本來運行,首先使用我們之前分享過的 nano
寫一個腳本出來
#建立腳本
nano simpletask.sh
#在腳本中添加運行內容
# 從 1 數到 10
for i in {1..10}
do
echo "Number: $i"
sleep 3 # 每次數完等待3秒
done
echo "Counting completed."
編輯完後保存並退出編輯器,按下 Ctrl + O
保存文件,然後按 Enter
。接著按下 Ctrl + X
退出 nano 編輯器。
給腳本賦予執行的權限chmod +x simple_process.sh
最後執行腳本./simple_process.sh
執行過程
然後你就可以查看你的進程狀態ps aux | grep simple_process.sh
或是 ps -a
也行
最後你可以發現執行前跟執行後的區別,有 PID 確實正在執行中
執行前與執行結束 | 執行中 |
---|---|
希望本篇可以給大家不一樣的體驗,歡迎大家看完後不妨可以點個喜歡,給作者繼續一點加油~~~