天天看點

Linux程序和計劃任務管理

程式

儲存在硬碟、CD光牒等媒體中的可執行代碼和資料;

靜态儲存的代碼

程序

在 cpu 及記憶體中運作的程式代碼;動态執行的代碼;父、子程序;

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

ps指令

檢視靜态的程序統計資訊

[root@localhost ~]#ps  -

elf

Linux程式和計劃任務管理

s root

08:27

ee:oe

system d

l s root

og:27

se:es

ee:ee

ee:0ö

c pri

• -%itched-root - -system

'*chan

6 • 4b4s7 ep_pol_

- -deserialize 21

o k threa

e sroboo

o worker

o sroboo

e rcu_gp

o rcu_gp

/ us s yst

[ksofti rqd,'sj

rke chi

t migration,'ßl

rcu_bhl

t rcu_schedl " title="s uld

t rcu_schedl " style="visibility: visible; width: 654px; height: 135px;">

top指令

檢視動态的程序排名資訊

[root@localhost ~]#top

Linux程式和計劃任務管理

23877

99

0.0 us,

999936

2097148

0.6

i 98

401024

2 ieeŔng,

100.0 ia, 0.0

106420

492492

708528

0:00

eu e e / cache

sseo

4260

os

s shd " title="619

s shd " style="visibility: visible; width: 654px; height: 136px;">

pgrep指令

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

Linux程式和計劃任務管理

2538 rsys'pgd

2113 mge!pg

troot@ocalbost pgrep -l

-u teacher -t ttyl

27483 bash

27584 vim " title="[ropt@lqgalhost pgrep -l "log"

27584 vim " style="visibility: visible; width: 578px; height: 288px;">

pstree指令

以樹形結構列出程序資訊

Linux程式和計劃任務管理

init, i

hogin,3221

i myfile.txt

[root@localhost pstree -ap teacher

bash,27483

i—vim,27674 myfile.txt " title="[root@localhost pstree -eup

i—vim,27674 myfile.txt " style="visibility: visible; width: 592px; height: 359px;">

程序的啟動方式

手工啟動

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

背景啟動:在指令行尾加入“&”符号

Linux程式和計劃任務管理

[11 28454

pid* " title="[root@localhost cp idev/cdrom mycd.iso &

pid* " style="visibility: visible; width: 627px; height: 148px;">

排程啟動

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

使用 crontab 指令,設定周期性計劃任務

程序的前背景排程

ctrl+z 組合鍵

将目前程序挂起,即調入背景并停止執行

jobs 指令

檢視處于背景的任務清單

fg 指令

将背景程序恢複到前台運作,可指定任務序号

Linux程式和計劃任務管理

[il- stopped

cp idev/gdrqm mycd.iso

[2]+ stopped

top

—w fg 1 " title="jobs

—w fg 1 " style="visibility: visible; width: 578px; height: 145px;">

終止程序的運作

ctrl+c 組合鍵

中斷正在執行的指令

kill、killall 指令

kill用于終止指定pid号的程序

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

-9 選項用于強制終止

pkill指令

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

常用指令選項

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

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

Linux程式和計劃任務管理

計劃任務管理

at:一次性計劃任務指令

at  [hh:mm] [yyyy-mm-dd]

Linux程式和計劃任務管理

sun may 7 edt 2017

at 10:35 2017-05-07

at> pgrep -u root i wc -i >

job 1 at sun may 7 2017

[root@localhost cat itmp/ps,root

202 " title="[root@lqcalhost date

202 " style="visibility: visible; width: 522px; height: 286px;">

Linux程式和計劃任務管理

[root@localtvost at 21

at> shutdown -h now

job 2 at sun may 7 2017

qtq

2

sun may 7 2017 a root

atrm 2

[root@localhost atq " title="21•.30

[root@localhost atq " style="visibility: visible; width: 654px; height: 410px;">

crontab指令

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

屬于周期性計劃任務

主要設定檔案

全局配置檔案,位于檔案:/etc/crontab

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

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

管理cron計劃任務

編輯計劃任務:crontab  -e[-u 

使用者名]

檢視計劃任務:crontab  -i [-u 

删除計劃任務:crontab  -r[-u 

注意:root使用者可以管理指定使用者的計劃任務;普通使用者隻能管理自己的計劃任務

crontab 任務配置的格式

Linux程式和計劃任務管理

50 3 2 1

任 務 内 容 設 置

run comm n

分 鐘

日 期

月 份

星 期

說 明

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

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

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

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

取 值 為 從 0 到 7 之 間 的 任 意 , 0 或 7 代 表 星 期 日 " title="時 間 周 期 設 置

取 值 為 從 0 到 7 之 間 的 任 意 , 0 或 7 代 表 星 期 日 " style="visibility: visible; width: 641px; height: 393px;">

時間數值的特殊表示方法

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

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

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

/       指定間隔的時間頻率

應用示例

0 17  *  * 

1-5      

    周一到周五每天17:00

30 8  *  * 

1,3,5        

每周一、三、五的8點30分

0 8-18/2  *  * 

*         8

點到18點之間每2小時

0 *  */3  * 

*     

         每3天

&;  表示任務在背景執行,如要在背景運作redis-server,則有 redis-server &

       常常配套使用的是nohub指令(忽略終端或者上級程式的hub(hangup)信号)

        nohup connect_sx &

&&; 表示前一條指令執行成功時,才執行後一條指令 ,如 echo '1‘ && echo '2'   

| ;表示管道,上一條指令的輸出,作為下一條指令參數,如 echo 'yes' | wc -l

|| ;表示上一條指令執行失敗後,才執行下一條指令,如 cat nofile || echo "fail"

繼續閱讀