Linux 自製系統服務啟動指令碼

2021-09-23 00:09:26 字數 2312 閱讀 5502

在linux的某些系統服務中,需要自己定製啟動服務的指令碼。通常會使用cash語句來實現。

一般用於程式啟動指令碼

syntax:

case

$1in

param1)

commands

;;param2)

commands

;;*)

commands

esac

example:

#!/bin/bash -e

#/bin/bash -e 表示系統發生第乙個錯誤時就中止指令碼執行

#每個被chkconfig管理的服務需要在對應的init.d下的指令碼加上兩行或者更多行的注釋。

# chkconfig:35 12 45

#第一行告訴chkconfig預設啟動的執行級以及啟動和停止的優先順序。如果某服務預設不在任何執行級啟動,那麼使用 – 代替執行級。

# description:service start script

#第二行對服務進行描述,可以用\ 跨行注釋。

retval=0

case

$1in

start)

echo

"service starting..."

;;stop)

echo

"service stopping..."

;;restart)

#$0 meating is this one script

sh $0 stop || true

# $0 stop || ture 表示出現錯誤時候不想中止的指令

sh $0 start

;;*) echo

"input syntax error!"

echo

"usage:is [start|stop|restart]"

exit

1 ;;

esac

echo

$retval

###################################script end

######################################## apache 啟動指令碼

#!/bin/bash -e

[ -f /etc/rc.d/init.d/functions ] && . /etc/rc.d/init.d/functions

retval=0

#使用變數作為判斷和關聯上下本的載體

#使用變數簡化使用指令的決定路徑

start

()

stop

()

case

"$1"

in

start)

start #call function start()

;;

stop)

stop

;;

restart)

sh $0 stop

sh $0 start

;;

*)

echo

"format error!"

echo $"usage: $0 "

exit

1 ;;

esac

exit

$retval

####################################### script end

################################ postfix service 啟停指令碼

#!/bin/bash -e

# chkconfig:35 53 55

# discription:postfix

start

() stop

() reload

() status

() help

() case

$1in

start)

$1;;

stop)

$1;;

restart)

stop

start

;;reload)

$1;;

status)

$1;;

*) help

;;esac

################################script end

linux服務啟動指令碼實踐

後台開發在部署 修改配置 公升級服務時,需經常進行啟動 關閉等操作 常規的做法 啟動 敲一行執行啟動命令,關閉 執行ps aux grep 查到程序號,在執行kill 9 修改配置檔案後又得先關閉,在啟動 無數次的重複非常繁瑣,故寫個shell指令碼解放雙手還是很有必要的。本文是做專案中寫的乙個小指...

Linux系統下製作服務啟動指令碼(二)

vim編寫指令碼start.sh,將指令碼複製到 usr bin目錄下,去掉字尾名 然後進入任何目錄,都可以執行start指令碼,檢視結果 可以發現也可以製作服務的啟動指令碼,不過為什麼不推薦在這個目錄下面這麼做呢?因為 usr bin目錄下,安裝了一些系統必備的軟體工具,如c g gcc chdr...

linux啟動指令碼

一 開機啟動時自動執行程式 1,init是所有程序的頂層,init讀取 etc inittab配置 2,init呼叫執行 etc inittab配置的 etc rc.d rc.sysinit指令碼 3,rc.sysinit根據inittab執行 etc rc?d 目錄下的各個指令碼 4,大多數啟動指...