1. 程式人生 > >第十一章 計劃任務-centos7.5知識

第十一章 計劃任務-centos7.5知識

一、程式和程序的關係

ps

程式

儲存在硬碟、光碟等介質中的可執行程式碼和資料

靜態儲存的程式碼

程序

在 CPU 及記憶體中執行的程式程式碼

動態執行的程式碼

父、子程序

每個程序可以建立一個或多個程序

檢視程序資訊 ps

ps命令

檢視靜態的程序統計資訊

Ps aux 或ps –elf

top命令

– 檢視動態的程序排名資訊

• 可適當介紹top工具的命令按鍵:P、M、N、h、q

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

• 按M鍵根據記憶體佔用情況進行排序

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

• 按h鍵可以獲得top程式的線上幫助資訊

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

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

pgrep命令

• 根據特定條件查詢程序 PID 資訊

• [[email protected] ~]# pgrep -l "log"

• 2538 rsyslogd

• 2113 mcelog

• [[email protected] ~]# pgrep -l -U teacher -t tty1

• 27483 bash

• 27584 vim

pstree –aup

• pstree命令

– 以樹形結構列出程序資訊

pstree -aup

pstree -ap teacher

-a:顯示完整資訊

-u:列出對應使用者名稱

-p:列出對應PID號

二、程序的啟動方式

手工啟動

前臺啟動:使用者輸入命令,直接執行程式

後臺啟動:在命令列尾加入“&”符號

排程啟動 :計劃任務

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

程序的前後臺排程

Ctrl+Z 組合鍵

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

jobs 命令

檢視處於後臺的任務列表

fg 命令

將後臺程序恢復到前臺執行,可指定任務序號

[email protected] ~]# jobs

[1]- Stopped cp /dev/cdrom mycd.iso

[2]+ Stopped top

[[email protected] ~]# fg 1

終止程序的執行

Ctrl+C 組合鍵

中斷正在執行的命令

kill

killall 命令

kill用於終止指定PID號的程序

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

-9 選項用於強制終止

pkill命令

根據特定條件終止相應的程序

常用命令選項

-U:根據程序所屬的使用者名稱終止相應程序

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

[[email protected] ~]# pgrep –l -U "hackli"

3045 bash

[[email protected] ~]# pkill -9 -U "hackli”

[[email protected] ~]# pgrep -l -U "hackli”

計劃任務管理

at命令(按ctrl+d儲存任務)

一次性計劃任務

at [HH:MM] [yyyy-mm-dd]

[[email protected] ~]# date

Sun May 7 10:33:13 EDT 2017

[[email protected] ~]# at 10:35 2017-05-07

at> pgrep -U root | wc -l > /tmp/ps.root

at> <EOT>

job 1 at Sun May 7 10:35:00 2017

[[email protected] ~]# cat /tmp/ps.root

202

[email protected] ~]# at 21:30

at> shutdown -h now

at> <EOT>

job 2 at Sun May 7 21:30:00 2017

[[email protected] ~]# atq

2 Sun May 7 21:30:00 2017 a root

查詢at定義的任務

cd /var/spool/at/

ls –l

[[email protected] ~]# atrm 2

[[email protected] ~]# atq

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

計劃任務管理 crond

crontab命令

按照預先設定的時間週期(分鐘、小時、天……)重複執行使用者指定的命令操作

屬於週期性計劃任務

主要設定檔案

全域性配置檔案,位於檔案:/etc/crontab

系統預設的設定,位於目錄:/etc/cron.*/

使用者定義的設定,位於檔案:/var/spool/cron/使用者名稱

管理cron計劃任務

編輯計劃任務

crontab -e [-u 使用者名稱] 編輯計劃任務

crontab -l [-u 使用者名稱] 列出檢視計劃任務

crontab -r [-u 使用者名稱] 清空計劃任務

crontab 任務配置的格式

clip_image002

時間數值的特殊表示方法

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

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

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

/ 指定間隔的時間頻率

應用示例

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

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

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

0 * */3 * * 每3天

作業:

1、定時時間計劃,每週3的15:30分,將日期、時間輸出到/tmp/dateaudit.txt中。

2、寫出檢視到指定執行程序systemd狀態的3個命令及其用法.