MacOS launchctl 启动进程控制

MacOS 不像 Linux 有 /etc/init.d/rc.local 以及 service 的方式可以自动启动。而是使用 plist 文件,文件里描述程序路径和启动参数,用户登录后就会启动这个程序,而且pkill进程以后,程序会自动重启。


plist文件分布在:

/System/Library/LaunchDaemons # 是用户未登陆前就启动的服务(守护进程)
/System/Library/LaunchAgents  # 由Mac OS X为用户定义的任务项
/Library/LaunchDaemons        # 由管理员定义的守护进程任务项
/Library/LaunchAgents         # 由管理员为用户定义的任务项
~/Library/LaunchAgents        # 由用户自己定义的任务项


launchctl 常用命令

1.显示当前的启动脚本,status等于0就正常,等于正数,比如78,就是错误。

launchctl list


2.开机时自动启动 php-fpm, -w 是立即启动的意思

sudo launchctl load -w /Library/LaunchAgents/org.php.php-fpm.plist


3. 停止正在运行的启动脚本

sudo launchctl unload [path/to/script]


4. 再加上-w选项即可去除开机启动

sudo launchctl unload -w [path/to/script]



plist 文件参考

<?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>Label</key>
      <string>php-fpm</string>
      <key>Program</key>
      <string>/usr/local/php5/sbin/php-fpm</string>
      <key>KeepAlive</key>
      <true/>
    </dict>
</plist>


声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
随机推荐
HTML input checkbox 复选按钮
WordPress 常用接口
Nginx 使用 Njs 授权访问文件
JavaScript 私有方法和私有属性
WordPress WP_Query() 文章置顶的方法
WordPress 文章置顶循环
Wordpress 使用 tag 标签获取文章列表的方法
Node.js 控制台进度条实现原理