Làm thế nào một người sẽ tạo ra một sự phụ thuộc giữa hai trình nền khởi chạy trên hệ thống bắt đầu?
Tôi muốn khởi chạy sonar khi hệ thống khởi động nhưng nó yêu cầu máy chủ mysql đã sẵn sàng và chạy.
Tôi đã không tìm thấy một cách rõ ràng để xác định một phụ thuộc quá trình trong các bảng khởi chạy.
Và từ trang Wikipedia launchd, có một câu rất đáng khích lệ:
Phần khó nhất để quản lý trong quá trình khởi động là phụ thuộc.
Sonar daemon:
<?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>
Trình nền của 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>