init.dスクリプトを作成
/etc/init.d/ 以下に配置するプロセス起動ファイルを作成
# vi /etc/init.d/myruner
# chkconfig: 345 99 01 # description: my init.d file
# chkconfig: runlevel 起動順番 終了順番
chkconfig --add serviceでrc.dにリンク貼る定義がこれ。
実行ユーザ、コマンドパス、実行ファイル名を指定して、バックグラウンドで実行。
プロセスの終了はpkill, 確認はpgrepの手抜き。
サンプルは以下。
#!/bin/sh # chkconfig: 345 99 01 # description: my init.d file SERVICE=myruner USER=linuxurser DIR=/your_command_dir/ FILE=your_command_file COMMAND=$DIR$FILE start() { su -l $USER -c $COMMAND & echo "service $SERVICE [start]" } stop() { pkill $FILE echo "service $SERVICE [stop]" } status() { PID=`pgrep $FILE | wc -l` if [ $PID -eq 0 ]; then echo "$SERVICE stop" else echo "running $SERVICE ..." fi } case $1 in start) start ;; stop) stop ;; status) status ;; restart) stop start ;; *) echo "Usage: $SERVICE [start|stop|restart|status]" ;; esac exit 0
/etc/init.d/ で以下に配置後、
# chkconfig --add myruner