株式会社エスロジカル
株式会社エスロジカル
セキュリティ、Web開発、Unix開発、Go言語

■ システム運用TIPS:起動・終了shell

技術ドキュメント目次 -> システム運用TIPS -> 起動・終了shell

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。


サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


$! という特殊変数には、
直前にバックグラウンドで実行したプログラムのPIDが格納されるので、
次のような stop/start のshellスクリプトを作成し、アプリケーションを
起動・終了する時に便利です。

SystemV系のunixや、RedHat系のLinuxでは、
/etc 以下にある initd.d ディレクトリ(/etc/initd.d や /etc/rc.d/init.d)に、
引数に stop start をとる起動shellが格納されていますので、
それを参照するのも参考になるかもしれません。

なお、
initd.d ディレクトリ内にある、
S で始まるスクリプトは OS起動時に start を引数にして実行され、
K で始まるスクリプトは OS起動時に stop を引数にして実行されます。

#!/bin/sh

# Copyright (C) 2006 Slogical Corporation

case "$1" in
'start')
        (バックグラウンドで起動させたいプログラム) &
        echo $! > ./.pid
        ;;
'stop')
        kill `cat ./.pid`
        rm -f ./.pid
        ;;
'restart')
        kill `cat ./.pid`
        rm -f ./.pid
        (バックグラウンドで起動させたいプログラム) &
        echo $! > ./.pid
        ;;
*)
        echo "Usage: $0 { start | stop }"
        exit 1
        ;;
esac

exit




■ システム運用TIPS についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。