程式和程序的關系
程式
儲存在硬碟、CD光牒等媒體中的可執行代碼和資料
是靜态儲存的代碼
程序
在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檔案中

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目錄