小编flo*_*ian的帖子

在 Mac OS X 上一个接一个守护进程启动一个守护进程

如何在系统启动时启动的两个守护进程之间创建依赖关系?

我想在系统启动时启动声纳,但它需要 mysql 服务器已经启动并运行。

我没有找到在 launchd plists 中定义进程依赖项的明确方法。

从启动的维基百科页面,有一个非常鼓舞人心的句子:

在启动启动期间最难管理的部分是依赖项。

声纳守护进程:

<?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>  
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

mysql launchd macos

6
推荐指数
1
解决办法
4030
查看次数

标签 统计

launchd ×1

macos ×1

mysql ×1