進程和計劃任務管理

程序和進程的關係

程序

  • 保存在硬盤、光盤等介質中的可執行代碼和數據

  • 是靜態保存的代碼

進程

  • 在CPU及內存中運行的程序代碼

  • 是動態執行的代碼

  • 父、子進程:每個進程可以創建一個或多個進程


查看進程信息命令

ps命令

用途:查看靜態的進程統計信息

格式:

  • ps aux

  • ps -elf


top命令

用途:查看動態的進程排名信息

top工具的命令按鍵:

  • 按P鍵根據CPU佔用情況對進程列表進行排序

  • 按M鍵根據內存佔用情況進行排序

  • 按N鍵根據啓動時間進行排序

  • 按h鍵可以獲得top程序的在線幫助信息

  • 按q鍵可以正常退出top程序

  • 使用空格鍵可以強制更新進程狀態顯示


pgrep命令

用途:根據特定條件查詢進程PID信息

常用命令選項:

-l:顯示進程名

-U:指定特定用戶

-t:指定終端


pstree命令

用途:以樹狀圖顯示程序

常用命令選項:

-a:顯示完整信息

-u:列出對應用戶名

-p:列出對應PID號


進程的啓動方式

手工啓動

  • 前臺啓動:用戶輸入命令,直接執行程序

  • 後臺啓動:在命令行尾加入“&”符號


調度啓動

  • 使用at命令,設置一次性計劃任務

  • 使用crontab命令,設置週期性計劃任務


進程的前後臺調度

Ctrl+Z 組合鍵

  • 將當前進程掛起,即調入後臺並停止執行

jobs命令

  • 查看處於後臺的任務列表

fg命令

  • 將處於後臺的進程恢復到前臺運行,需指定任務序號


終止進程的運行

Ctrl+C組合鍵

  • 中斷正在執行的命令

kill、killall命令

  • kill用於終止指定PID號的進程

  • killall用於終止指定名稱的所有進程

  • -9 選項用於強制終止


pkill命令

用途:根據特定條件終止相應的進程

常用命令選項:

-U:根據進程所屬的用戶名終止相應進程

-t:根據進程所在的終端終止相應進程


計劃任務管理

at命令

一次性計劃任務

服務腳本名稱:/etc/init.d/atd

設置格式:at [HH:MM] [yyyy-mm-dd]


at應用示例:

把當前以root用戶身份運行的進程數量輸出到/tmp/ps.root文件中

202515105.jpg


crontab命令

按照預先設置的時間週期(分鐘、小時、天……)重複執行用戶指定的命令操作,屬於週期性計劃任務

服務腳本名稱:/etc/init.d/crond

主要設置文件

  • 全局配置文件,位於文件:/etc/crontab

  • 系統默認的設置,位於目錄:/etc/cron.*/

  • 用戶定義的設置,位於文件:/var/spool/cron/用戶名


管理cron計劃任務

編輯計劃任務:crontab -e [-u 用戶名]

查看計劃任務:crontab -l [-u 用戶名]

刪除計劃任務:crontab -r [-u 用戶名]


crontab任務配置的格式

5 4 3 2 1 run_command

分鐘 小時 日期 月份 星期 命令


字段

說明

分鐘

取值爲從0到59之間的任意整數

小時

取值爲從0到23之間的任意整數

日期

取值爲從1到31之間的任意整數

月份

取值爲從1到12之間的任意整數

星期

取值爲從0到7之間的任意整數,0或7代表星期日

命令

要執行的命令或程序腳本


時間數值的特殊表示方法

* 表示該範圍內的任意時間

, 表示間隔的多個不連續時間點

- 表示一個連續的時間範圍

/ 指定間隔的時間頻率

應用示例

0 17 * * 1-5 週一到週五每天17:00

30 8 * * 1,3,5 每週一、三、五的8點30分

0 8-18/2 * * * 8點到18點之間每隔2小時

0 * */3 * * 每隔3天


crontab應用示例(root用戶):

每天早上7:50自動開啓sshd服務,22點50時關閉

每隔5天清空一次FTP服務器公共目錄/var/ftp/pub

每週六的7:30時,重新啓動httpd服務

每週一、三、五的17:30時,打包備份/etc/httpd目錄

202721508.jpg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章