RedHatLinuxで、/etc/rcx.d以下にサービス起動、停止スクリプトを勝手に作る
トップページ> "> RedHat/CentOS "> RedHat覚書

RedHatLinuxで、/etc/rcx.d以下にサービス起動、停止スクリプトを勝手に作る

 RedhatLinuxで、自前のサービス起動・停止スクリプトを勝手に作りたい時の覚書。

 まず、/etc/init.d以下に、スクリプトを作る。以下の例では、my_serviceというスクリプト名で保存したことにしよう。

#!/bin/sh
#  My service
# chkconfig: 345 80 20
# ↑ 345 は起動するRunLevel 80は起動時の優先度 20は停止時の優先度
# description: for my service

start() {

}

stop() {

}

restart() {

}

case "$1" in

 start)
  touch /var/lock/subsys/my_service
  サービス開始用の記述
  ;;
 stop)
  rm -f /var/lock/subsys/my_service
  サービス停止用の記述
  ;;
 restart)
  サービス再起動用の記述
  ;;
 *)
 echo "Usage: $0 {start|stop|restart}"
 exit 1
esac
exit 0

 なお、コメント行の「chkconfig」がないと、以下のchekconfigコマンドでエラーが出るかもしれない。

 以下のコマンドを実行する。

chmod 755 /etc/init.d/my_service
chkconfig my_service on

その他、chkconfigコマンドで好きなRunLevelに起動、停止スクリプト(ファイル名の頭にK20とかS80とかついたものが、rc3.dとかにできる)

 起動停止スクリプトのポイントとして、/var/lock/subsys/サービス名というファイルを起動時に作って置かないと、K20my_serviceなどのファイルがあっても、シャットダウン時に実行されないので注意。起動時にこのファイルをtouchで作って、停止時にrmで消すようにしておこう。

 私はこれがわかってなくて、「ファイルがあるのに、なんでシャットダウン時にKスクリプトが実行されないんだ?」と、半日くらい悩んだ。

 まあ、そんな感じ。

  はてなブックマーク - RedHatLinuxで、/etc/rcx.d以下にサービス起動、停止スクリプトを勝手に作る  この記事にTwitterでつぶやく このページをはてなブックマーク


nenshu.png
予測年収600万円以下なら会社にしがみつけ?だと?


次のRedhatLinuxでCDやDVDをマウントするへ
トップページ> "> RedHat/CentOS "> RedHat覚書 もくじ