進程與計劃任務管理

進程與計劃任務管理

一、查看進程(PID)

1、靜態查看進程統計信息

【1】命令:ps aux |wc -l(顯示行數)
【2】參數含義(Unix選項繼承過來的,不能加“-”)
(1)a當前終端下所有進程信息,包括其他用戶進程
(2)u使用以用戶爲主的格式輸出進程信息
(3)x顯示當前用戶在所有終端下的進程信息
【3】命令:ps -elf
【4】參數含義(Linux自主研發的,必須加“-”)
(1)-e顯示系統內的所有進程的信息
(2)-l使用長格式顯示進程信息
(3)-f使用完整的full格式顯示進程信息
【5】grep結合管道符號
(1)原因:由於系統中運行的進程數量較多,需要查詢某一個進程的信息時可以結合管道符號和grep命令進行過濾。
(2)命令模型:ps aux |grep “bash”

2、動態查看進程統計信息(top)

【1】top命令會在當前終端以全屏交互式的界面顯示進程排名,及時跟蹤包括CPU、內存等系統資源佔用情況,默認情況下每三秒刷新一次。
【2】在top界面
排序:按“P”以CPU最高到底排序,“M”以內存從大到小排序
主要參數:2users表示2個用戶,load average(平均負載):1分鐘、5分鐘、15分鐘

二、查看進程

1、查看進程信息pgrep

【1】用途
根據特定條件查詢進程PID信息
【2】常用選項
(1)-l:顯示進程名
(2)-U:指定特定用戶
(3)-t:指定終端
【3】舉例說明

Pgrep -l “log”顯示“log”的進程
Pgrep -l -U teacher -t tty1顯示teacher用戶,tty1終端的進程號

2、查看樹形結構的進程信息(pstree)

【1】常用參數
(1)-a:顯示完整信息
(2)-u:列出對應用戶名
(3)-p:列出對應PID
【2】舉例說明

pstree -aup
Pstree -apu tom

三、啓動進程的方式

1、手動啓動

【1】前臺啓動

用戶輸入命令,直接執行程序

vim aa.txt
【2】後臺啓動

在命令行尾加入“&”符號,在運行這個程序的同時還幹其他的事。

cp /dev/cdrom mycd.iso &(會顯示進程號和任務序號)
【3】進程前後臺的調度

(1)Ctrl+Z組合鍵:將當前進程掛起,及調入後臺並停止執行
(2)Jobs命令:查看處於後臺停止執行“+”最近後臺運行的,“-”次近的
(3)Fg命令:將後臺進程恢復到前臺運行,可指定任務序號

【4】終止進程運行

(1)Ctrl+C組合鍵:中斷正在執行的命令
(2)Kill(-9強制)命令:用於終止指定PID的進程號
(3)Killall(-9強制)l命令:用戶終止指定名稱的所有進程
(4)Pkill命令:根據特定條件終止相應的進程
相關參數:
-U:根據進程所屬的用戶終止相應的進程
-t:根據進程所在終端終止相應的進程

2、調度啓動

【1】一次性任務設置(at)

(1)服務腳本名稱:/etc/init.d/atd
(2)設置格式:at [HH:MM] [yyyy-mm-dd]
(3)相關命令:atq(查看未執行)atrm 2(刪除第2條任務)
(4)舉例說明:

at 14:55 2020-06-19
at>pgrep -U root | wc -l >/tmp/ps.root(Ctrl+D提交任務)
cat /tmp/ps.root(到規定時間查看目錄文件是否存在)
110
【2】週期性任務設置(crond服務)

系統通過run-parts工具(shell腳本,可執行指定文件下的可執行文件)調用執行位於“/etc/cron.* ”中的文件。
除了run-parts工具之外還有一個撿漏程序anacron,有軟件包cronie-anacron提供,配置文件/etc/anacrontab,由crond進行調用管理。

(1)其管理命令crontab

按照預先設置的時間週期(分,時,天,月,周)重複執行用戶指定的命令操作,屬於週期性計劃,服務腳本名稱/etc/init.d/crond

(2)主要設置文件

全局配置文件:/etc/crontab
系統默認的設置,位於/etc/cron.*/
用戶定義的設置:/var/spool/cron/aa.txt

(3)相關參數

命令格式:時間週期設置(分,時,日,月,周) 任務內容(命令絕對路徑 參數 什麼操作 >放置路徑一般是絕對路徑)
編輯計劃任務:crontab -e [-u 某個用戶]
查看計劃任務:crontab -l [-u 某個用戶]
刪除計劃任務:crontab -r [-u 某個用戶]

(4)時間數值的特殊表示方法
 “ * ” 表示該範圍內的任意時間 (0 17 * * 1-5週一到週五每天17:00)
 “ , ” 間隔的多個不連續的時間點(30 8 * * 1,2,3 每週一、二、三的8:30)
 “ - ”  表示一個連續的時間範圍(0 8-18/2 * * *  每天8點到18點之間每2小時)
 “ / ” 指定時間間隔的頻率(* * */3 * * 每三天)
(5)舉例說明

(每週日23:55將“/etc/passwd”文件內容複製到宿主目錄中,保存爲pwd.txt文件)

crontab -e -u tom(編輯)
55 23 * * 7  /bin/cp /etc/passwd /home/tom/pwd.txt
crontab -l -u tom(查看)
55 23 * * 7  /bin/cp /etc/passwd /home/tom/pwd.txt
crontab -r -u tom(刪除所有任務)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章