天天看點

管理計劃任務和程序

<b>                 </b>

<b>第六章</b><b>管理程序和計劃任務</b>

<b>1. linux的引導流程</b>

2.1 引導流程總覽

2.2 系統初始化程序和檔案

a. <b>init</b><b>程序</b>

Ø <b>由linux</b><b>核心加載運作 /sbin/init </b><b>程式</b>

Ø <b>是系統中第一個程序,pid</b><b>(程序标記)号永遠為1</b>

Ø <b>配置檔案:/etc/inittab </b>

   b.inittab配置檔案

l id,也稱标記字段,由1~4個字元組成,用以差別于其他行的配置,是以id标記字段必須是唯一的

l runlevels,運作級别字段,用于指定該記錄在哪些運作級别中運作,取值數字0~6,後面會對其進行詳細解釋

l action ,動作類型字段,動作類型字段描述了該行配置所對應的操作類别,一般為固定值,較常用的類型如下:

<b>       initdefault</b>:設定初始化系統後預設進入的運作級别

<b>       sysinit</b>:設定系統初始化的操作腳本

<b>       wait</b>:init程序将等待該行配置所對應的腳本操作完成後,再繼續執行其他操作

<b>       ctrlaltdel</b>:設定當使用者按下ctrl+alt+delete組合鍵後的操作

<b>      powerfail</b>:設定當系統收到斷電信号(使用不間斷電源)時采取何種動作

<b>      powerokwait</b>:設定當系統收到恢複供電信号時采取何種動作

<b>      respawn</b>:一旦該行配置所對應的程序被終止,則重新啟動該程序

l process,程式或腳本字段,此字段用于指定該行配置所對應的實際操作,可以是具體的指令、腳本程式等

c 其他的啟動檔案

Ø <b>/etc/rc.d/rc.sysinit </b>

<b>由init</b><b>程序調用執行</b>

<b>完成設定網絡、主機名、加載檔案系統等初始化工作 </b>

Ø <b>/etc/rc.d/rc</b><b>腳本檔案</b>

<b>根據指定的運作級别, </b><b>加載或終止相應的系統服務</b>

Ø <b>/etc/rc.local</b><b>腳本檔案</b>

<b>由rc</b><b>腳本調用執行</b>

<b>儲存使用者定義的需開機後自動執行的指令</b>

<b> </b>

2.3 運作級别控制

Ø <b>運作級别 </b>

<b>指運作linux</b><b>系統的不同模式</b>

<b>每種模式對應不同的服務程式組合</b>

Ø <b>預設的7</b><b>種運作級别</b>

<b>0</b><b>:關機狀态</b>

<b>1</b><b>:單使用者模式</b>

<b>2</b><b>:字元界面的多使用者模式(不支援網絡)</b>

<b>3</b><b>:字元界面的完整多使用者模式</b>

<b>4</b><b>:未配置設定使用</b>

<b>5</b><b>:圖形界面的多使用者模式</b>

<b>6</b><b>:重新啟動</b>

Ø <b>調整預設運作級别</b>

Ø <b>修改 /etc/inittab </b><b>檔案中的 </b><b>initdefault </b><b>配置行 </b>

           id:3:initdefault:

Ø <b>檢視運作級别</b>

<b>使用runlevel</b><b>指令,分别顯示:</b>

 切換前的運作級别、目前運作級别

Ø <b>臨時切換運作級别</b>

<b>使用init</b><b>指令結合 0-6 </b><b>的運作級别參數</b>

Ø 系統服務的啟動控制

<b>chkconfig</b><b>檢視系統服務的啟動狀态</b>

<b>格式:chkconfig --list</b>

<b>              chkconfig --list </b><b>服務名稱</b>

<b>服務腳本位置:/etc/init.d </b><b>à /etc/rc.d/init.d </b>

<b>設定系統服務的啟動狀态</b>

<b>格式:chkconfig --level </b><b>級别清單 </b><b>服務名 on|off </b>

<b>ntsysv</b><b>系統服務管理工具</b>

<b>格式:ntsysv </b>

<b>              ntsysv --level </b><b>級别清單 </b>

2.         程序管理

3.1   檢視程序

1.       <b>ps</b><b>指令</b>

<b>用途:檢視靜态的程序統計資訊</b>

<b>格式:ps aux</b>

<b>              ps -elf</b>

2.       <b>top</b><b>指令</b>

<b>用途:檢視動态的程序排名資訊 </b>

按p鍵根據cpu占用情況對程序清單進行排序

按m鍵根據記憶體占用情況進行排序

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

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

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

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

3.<b> pgrep</b><b>指令</b>

<b>用途:根據特定條件查詢程序pid</b><b>資訊</b>

<b>pgrep "init" </b><b>; pgrep -l "log" </b><b>; pgrep -l -u teacher -t tty1</b>

4.<b> pstree</b><b>指令</b>

<b>用途:以樹型結構顯示各程序間的關系</b>

3.2   控制程序

1.啟動程序

   <b>手工啟動</b>

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

<b>背景啟動:在指令行尾加入“&amp;”</b><b>符号</b>

<b>排程啟動</b>

<b>使用at</b><b>指令,設定在某個特定的時間,執行一次任務</b>

<b>使用crontab</b><b>指令,設定按固定的周期(如每天、每周等)重複執行預先計劃好的任務</b>

      2.改變程序的運作方式

<b>ctrl+z </b><b>組合鍵</b>

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

<b>jobs</b><b>指令</b>

<b>檢視處于背景的任務清單</b>

<b>fg</b><b>指令</b>

<b>将處于背景的程序恢複到前台運作,需指定任務序号</b>

      3.終止程序執行

 <b>ctrl+c</b><b>組合鍵</b>

<b>中斷正在執行的指令</b>

<b>kill</b><b>、killall</b><b>指令</b>

<b>kill</b><b>用于終止指定pid</b><b>号的程序</b>

<b>killall</b><b>用于終止指定名稱的所有程序</b>

<b>-9 </b><b>選項用于強制終止</b>

 <b>pkill -9 -t pts/1</b>

3.         計劃任務管理

4.1 <b>at</b><b>一次性任務設定</b>

<b>在指定的日期、時間點自動執行預先設定的一些指令操作,屬于一次性計劃任務</b>

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

<b>設定格式:at [hh:mm] [yyyy-mm-dd]</b>

<b>注意:使用at</b><b>指令設定的任務隻在指定時間點執行一次,若隻指定時間則表示當天的該時間,若隻指定日期則表示該日期的目前時間;可以在at</b><b>互動環境中輸入多條指令,最後按ctrl</b><b>+d</b><b>組合鍵送出;對應的系統服務atd</b><b>必須已經運作</b>

 4.2 crontab周期性任務設定

<b>按照預先設定的時間周期(分鐘、小時、天……</b><b>)重複執行使用者指定的指令操作,屬于周期性計劃任務</b>

注意:全局配置和系統預設配置中的内容一般不需要使用者去修改,使用者隻需設定/var/spool/cron/目錄下與本帳号同名的檔案即可,接下來介紹如何設定使用者自己的計劃任務

<b>管理cron</b><b>計劃任務</b>

<b>編輯計劃任務:crontab -e [-u </b><b>使用者名]</b>

<b>檢視計劃任務:crontab -l [-u </b><b>使用者名]</b>

<b>删除計劃任務:crontab -r [-u </b><b>使用者名]</b>

<b>      crontab</b><b>任務的配置格式</b>

<b>注意:時間數值的特殊表示方法</b>

<b>*        </b><b>表示該範圍内的任意時間</b>

<b>,    </b><b>表示間隔的多個不連續時間點</b>

<b>-         </b><b>表示一個連續的時間範圍</b>

<b>/         </b><b>指定間隔的時間頻率</b>

l <b>示例1</b><b>:</b>

[root@localhost ~]# <b>crontab -e</b>

50 7 * * * /sbin/service sshd start

50 22 * * * /sbin/service sshd stop

0 * */5 * * /bin/rm -rf /var/ftp/pub/*

30 7 * * 6 /sbin/service httpd restart

30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd

繼續閱讀