Contents ...
udn網路城邦
Linux系統服務與進程管理
2015/07/18 22:24
瀏覽114
迴響0
推薦0
引用0
Kernal初始化過程:
設備探測
核心驅動初始化(可能會從initrd文件中裝載驅動模塊)
以只讀方式掛載根文件系統
裝載第一個進程init PID為1

RHEL5:/sbin/init:(/etc/inittab)
RHEL6:upstart: ubuntu, d-bus, event-driven  每一個文件都是基於事件驅動的方式編寫
ls /etc/init  文件均以.conf結尾
ls /etc/init.d  存放著腳本

id:runlevels:action:process
id: 標識符
runlevels: 在哪個級別下運行此行;
action: 在什麽情況下執行此行;
process: 要運行程序;

/etc/rc.d/rc.sysinit完成的任務:
激活udev和selinux
根據/etc/sysctl.conf文件,來設定內核參數
設定時鐘分鐘
裝載鍵盤映射
啟用交換分區
設置主機名
根文件系統檢測,並以讀寫方式重新掛載
激活RAID和LVM設備
啟用磁盤配額
根據/etc/fstab檢查並掛載其他文件系統
清理過期的鎖和PID文件

for I in /etc/rc3.d/K*; do
$I stop
done

for I in /etc/rc3.d/S*; do
$I start
done

##: 關閉或啟動的優先次序,數據越小越優先被選定
先關閉以K開頭的服務,後啟動以S開頭的服務;

/etc/rc#.d-->/etc/rc.d/rc#.d
/etc/rc.d/rc#.d裏的文件指向/etc/rc.d/init.d裏的腳本
/etc/rc.d/init.d  存放許多服務的腳本

l0:0:wait:/etc/rc.d/rc 0
rc0.d/
K*
   stop
S*
   start
  
/etc/rc.d/init.d, /etc/init.d

服務類腳本:
start

SysV: /etc/rc.d/init.d
start|stop|restart|status
reload|configtest

#chkconfig:runlevels(啟動級別)    SS(啟動優選次序)    KK(關閉的優先次序)
當chekconfig命令來為此腳本在rc#.d目錄創建鏈接時,runlevels表示默認創建為S*開頭的鏈接,
-表示沒有級別默認為S*開頭的鏈接;除此之外的級別默認創建為K*開頭的鏈接
S後面的啟動優先級為SS所表示的數字;K後面關閉優先次序為KK所表示的數字;

# description: 用於說明此腳本的簡單功能; \, 續行

vim mysevice.sh
#!/bin/bash
#
#chkconfig:2345 77 22  一般是先開的服務後關閉  兩個相加為99
#description:Test Service
LOCKFILE=/var/lock/subsys/myservice

Status()    {
if  [ -e $LOCKFILE ];then
echo"Running"
else
echo"Stopped"
fi
}

Usage()    {
echo "`basename $0` {start|stop|restart|staus}"
}

case $1 in
start)
echo "starting..."
touch $LOCKFILE;;
stop)
echo "stoping...";;
rm -f $LOCKFILE;;
restart)
echo"Restarting...";;
status)
Status;;
*)
Usage;;
esac

cp myservice.sh    /etc/rc.d/init.d/myservice
cd /etc/rc.d/init.d
chkconfig --add myserivce
find ./ -name "*myservice*"

chkconfig
--list  查看所有獨立守護類服務的啟動設定:獨立守護進程 但凡能在其對應級別下設定停止或啟動的服務
--list SERVICE_NAME

--add SERVICE_NAME   對當前不會影響,下次重新啟動才會開啟
--del  SERVICE_NAME
[--level RUNLEVELS] SERVICE_NAME {on|off}   省略級別默認為2345級別

/etc/rc.d/rc.local:系統最後啟動的一個服務,準確說,應該執行的一個腳本;可以往裏面寫內容

/etc/inittab的任務
設定默認運行級別
運行系統初始化腳本
運行指定級別對應的目錄下的腳本
設定ctrl+alt+del組合鍵的操作
定義UPS電源在電源故障恢復時執行的操作
啟動虛擬的終端(2345級別)
啟動圖形的終端(5級別)

守護進程的類型:
獨立守護進程
xinetd:超級守護進程,是瞬時守護進程的代理人
瞬時守護進程:不需要關聯至運行級別

yun install xinetd -y
service xinetd on
chkconfig --list
chkconfig 某瞬時進程名 on
全站分類:知識學習 科學百科
自訂分類:不分類
上一則: 更新linux共享庫
下一則: linux的source命令

限會員,要發表迴響,請先登入