Posted at

"Bad file descriptor" in Launchd

More than 3 years have passed since last update.

OS X 10.9でLanuchdに自分で作ったサービスを登録して起動しようとしたときに、以下のようにエラーが出て起動しませんでした。

$ launchctl start com.docker.boot2docker

launchctl start error: Bad file descriptor
$ launchctl list|grep docker
- 2 com.docker.boot2docker

StandardOutPathやStandardErrorPathで指定しているログファイルにも何も出力されず困りました。

plistファイルをよく確認したところ、

    <key>ProgramArguments</key>

<array>
<string>/usr/local/bin/boot2docker up</string>
</array>

となっていた部分を以下のように変更したら正常に起動しました。

    <key>ProgramArguments</key>

<array>
<string>/usr/local/bin/boot2docker</string>
<string>up</string>
</array>

よく考えたら当たり前な気がします。

というわけでboot2dockerを自動起動するための設定ファイルを作りました。

https://gist.github.com/orangain/5f74bf388f66778f0e47