カテゴリ・トーク:EIMS
提供:maruko2 Note.
eimsd 自動起動スクリプト
eimsd を /Applications/EIMS3 に配置した場合。
/ |-- Applications | |-- EIMS3 | |-- eimsd ← eimsd バイナリ | |-- eimsd.sh ← eimsd 起動&停止シェルスクリプト(作成する) | |-- eimsd.log ← eimsd コンソールログ(自動で作成される。) | |-- eimsd.pid ← eimsd の PID ファイル(自動で作成される。) | `-- その他のEIMSのファイル |-- Library | |-- StartupItems | |-- eimsd | |-- eimsd ← eimsd 用 Startup Item(作成する) | `-- StartupParameters.plist ← eimsd 用 Startup Item(作成する)
- /Applications/EIMS3/eimsd.sh
#!/bin/sh eimsd_dir="/Applications/EIMS3" START() { $eimsd_dir/eimsd >> $eimsd_dir/eimsd.log & echo $! > $eimsd_dir/eimsd.pid } STOP() { kill -TERM `cat $eimsd_dir/eimsd.pid` rm $eimsd_dir/eimsd.pid } case $1 in start ) START ;; stop ) STOP ;; restart) STOP && START ;; * ) echo "Usage: sudo $0 {start|stop|restart}" esac
- /Library/StartupItems/eimsd/eimsd
#!/bin/sh eimsd_dir="/Applications/EIMS3" . /etc/rc.common StartService() { if [ "${eimsd:=-NO-}" = "-YES-" ]; then echo "Starting eimsd" $eimsd_dir/eimsd.sh start fi } StopService() { echo "Stopping eimsd" $eimsd_dir/eimsd.sh stop } RestartService() { if [ "${eimsd:=-NO-}" = "-YES-" ]; then echo "Restarting eimsd" $eimsd_dir/eimsd.sh restart fi } RunService $1
- /Library/StartupItems/eimsd/StartupParameters.plist
{ Description = "eimsd"; OrderPreference = "Last"; Messages = { start = "Starting eimsd"; stop = "Stopping eimsd"; }; }
作成したファイルのパーミッション変更
chmod a+x /Applications/EIMS3/eimsd.sh sudo chown -R root:wheel /Library/StartupItems/eimsd sudo chmod -R 755 /Library/StartupItems/eimsd
/etc/hostconfig に eimsd=-YES- の行を追加。
これで、OS 起動時に eimsd が自動起動するようになる。