Как создать зависимость между двумя демонами, запускаемыми при запуске системы?
Я хотел бы запустить сонар при запуске системы, но для этого требуется, чтобы сервер MySQL был уже запущен и работал.
Я не нашел явного способа определения зависимости процесса в списках запусков.
И на странице Википедии, посвященной запуску, есть очень обнадеживающее предложение:
Самая сложная часть для управления во время запуска launchd - это зависимости.
Демон сонара:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>WorkingDirectory</key>
<string>/usr/local/Sonar/sonarinstall</string>
<key>Label</key>
<string>org.sonarsource.sonar</string>
<key>KeepAlive</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>bin/macosx-universal-64/sonar.sh</string>
<string>start</string>
</array>
<key>UserName</key>
<string>server1</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
MySQL демон:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.mysql</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/mysql/bin/mysqld_safe</string>
<string>--bind-address=127.0.0.1</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local/var</string>
</dict>
</plist>