しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

StartupItemsが起動しない

Mac初心者です。

StartupItemsについて教えてください。

マシン起動時にデーモンを走らせるために下記のディレクトリに

Itemを作成しましたが、どちらのディレクトリに入れた場合でも

Itemは起動できませんでした。


/System/Library/StartupItems

/Library/StartupItems


作成したItemは、Webで検索すると出てくる一般的な形のもので、

owner、permissionとも設定しています。

suコマンドでrootになり、手動で以下のようにした場合は起動します。


SystemStarter start <シェルスクリプト名>


/var/log/system.logを見ると以下のようなメッセージが

出ていますが、どのように対処して良いのか分かりません。

情報をお持ちの方、教えて頂けませんでしょうか。


May 30 17:56:28 Mac SystemStarter[20]: "/Library/StartupItems/<アイテム名>" failed sanity check: path was created after boot up


使用しているOSは、OSX10.6.7です。

Mac mini, Mac OS X (10.6.7)

投稿日 2011/05/30 18:30

返信
返信: 9

2011/05/30 19:30 artemis への返信

artemis による書き込み:


Mac初心者です。

StartupItemsについて教えてください。

マシン起動時にデーモンを走らせるために下記のディレクトリに

Itemを作成しましたが、どちらのディレクトリに入れた場合でも

Itemは起動できませんでした。


/System/Library/StartupItems

/Library/StartupItems


そんなところに、それもroot権限がなければ動作しないようなプログラムを置いているからでは・・・マルウェアとかの何か危険なプログラムだと判断されて撥ねられたとしても不思議ではないです。

2011/05/31 01:09 Maculturati への返信

返信ありがとうございます。

Googleで検索するとMySQLなどもこの方法で起動しているようですし、Mac OS X Developer Libraryにも

記述がありましたので、間違った使い方ではないと思ったのですが、セキュリティにひかかっているかまでは、

チェックしていませんでした。

確認してみます。

2011/05/31 01:13 ni_ki への返信

ni_kiさん、返信ありがとうございます。

StartupParameters.plistもGoogleで検索すると出てくるような内容とほぼ同じです。

もちろん、Descriptionの内容などは異なります。

hostconfigの設定が必要かも知れないというのは知りませんでした。

調べてみます。

2011/05/31 12:00 artemis への返信

作成したItemは、Webで検索すると出てくる一般的な形のもので、


それは公開できないのでしょうか?

実際にどのような内容のものをどのような形で導入しているのかがわからないと、その内容に問題があるのか、環境に問題があるのか判断しようもありません。


あと、Developer Libraryに目を通しているのであればご存知かと思いますが、AppleはSystemStarter (StartupItems) の使用を推奨していないので新しく導入するのであればlaunchdを使用した方がいいのではないでしょうか。

2011/05/31 13:28 HAL への返信

HALさん、ご指摘ありがとうございます。

手動による起動ができていたので、Item自体は問題ないと思い

載せていませんでした。

作成したItemは、下記のようになっています。

環境変数を定義していますが、フルパスで書いた場合でも現象は

変わりませんでした。


-----------MyAppLic-------------

#!/bin/sh


. /etc/rc.common


MYAPP_HOME=/Applications/MyApp.app/Contents/Resources/


StartService ()

{

$MYAPP_HOME/bin/lic_start &

}


StopService ()

{

$MYAPP_HOME/bin/lic_stop &

}


RestartService ()

{

StopService

StartService

}


RunService "$1"

------------------------


------------StartupParameters.plist------------

{

Description = "MyApp License Server";

Provides = ("MyAppLic");

Uses = ("Disks", "NFS");

}

------------------------


また、おっしゃる通り、このスクリプトはOS X v10.4 よりも前の

OSをベースに作成されたものなので、10.4以降では、launchdを

使用した方が良いのかもしれません。

書き換えについても検討してみます。

2011/05/31 14:52 artemis への返信

launchdを使った場合は起動することができました。

OS X v10.4以降は、やはり、StartupItems使わない方が良いということでしょうか。


Macでのセキュリティ設定がまだ良く分かっていないので、何とも言えませんが、

特にセキュリティでひかかって起動できないということではなさそうですし、

hostconfigについても、私が使っているスクリプトでは書き換える必要はなさそうです。


Developer Libraryを詳しく読んでいないのですが、現在のOSでは、StartupItemsは

何かしらの使用制限があったりするのでしょうか?

OS X 10.6.7でStartupItemsを普通に使えている方は、いらっしゃいますか?

2011/06/01 20:50 artemis への返信

OS X 10.6.7でStartupItemsを普通に使えている方は、いらっしゃいますか?


StartupSound.prefPaneはStartupItemsにインストールするタイプですが問題なく動作しています。


# launchdで問題なく動作するなら深追いする必要もないように思いますが参考まで。

StartupItemsが起動しない

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple ID を使ってご参加ください。