まだMacの起動スクリプトのことをなんと呼べばいいのかわからないのですが、
とりあえずなくて困ったので、
HyperEstraier用の起動スクリプトを作ってみました。

hyperestraier.plist

xml>>




Debug

Label
org.macports.hyperestraier
OnDemand

ProgramArguments

/opt/local/bin/daemondo --label=hyperestraier
--start-cmd
/opt/local/etc/LaunchDaemons/org.macports.hyperestraier/hyperestraier.wrapper
start
;
--stop-cmd
/opt/local/etc/LaunchDaemons/org.macports.hyperestraier/hyperestraier.wrapper
stop
;
--restart-cmd
/opt/local/etc/LaunchDaemons/org.macports.hyperestraier/hyperestraier.wrapper
restart
;
--pid=none

RunAtLoad



<<--

plistファイルの中で指定されているhyperestraier.wrapper
は以下の通り。

sh>>
!/bin/sh

MacPorts generated daemondo support script

Init

prefix=/opt/local

Start

Start()
{
if test ! "netstat -a -n | grep 1978"; then
rm -f /opt/local/var/run/hyperestraier/_pid
fi

/opt/local/bin/estmaster start -bg /opt/local/var/run/hyperestraier
}

Stop

Stop()
{
/opt/local/bin/estmaster stop /opt/local/var/run/hyperestraier
}

Restart

Restart()
{
Stop
Start
}

Run

Run()
{
case $1 in
start ) Start ;;
stop ) Stop ;;
restart) Restart ;;

  •  ) echo "$0: unknown argument: $1";;
    

esac
}

Run a phase based on the selector

Run $1
<<--

macportsで入れたmysql5-develの起動スクリプトを元にしているので、
ディレクトリ構成などがmacports的になっています。

posted by genki genki on Fri 12 Sep 2008 at 15:05 with 1 comment
瀧内元気 瀧内元気 09/15 11:38
Start()関数の中で、hyperestraierが立ち上がってない場合には、_pidファイルを消去するようにしてみました。