mac开机启动服务
我们知道linux有systemd来维护守护进程的开机自启,那么mac呢?
我们首先需要写一个plist文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?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>go-ss.owenliang.com.github</string> <key>KeepAlive</key> <true/> <key>ProgramArguments</key> <array> <string>/Users/owenliang/Documents/haha/server</string> <string>-local_addr=127.0.0.1:5000</string> <string>-pac_addr=127.0.0.1:5001</string> <string>-remote_addr=127.0.0.1:5002</string> </array> </dict> </plist> |
发现它的结构就是<key>标签后面跟着对应的value标签,根据value类型不同则标签也不同。
我用了这些key:
- Label:这个服务的唯一标识,不能和其他服务重复
- KeepAlive:设置为true,表示程序挂了要立即拉起来。
- ProgramArguments:程序启动命令,value对应一个array,只需要顺序写出程序和命令参数即可。
写好之后,我们注册一下这个服务:
1 |
launchctl load /Users/owenliang/Documents/haha/haha.plist |
然后就可以看到程序已经运行了起来,卸载服务使用unload命令即可。
要开机自启动,只要把plist文件放到这个路径下即可:
1 |
/Library/LaunchDaemons/ |
如果文章帮助您解决了工作难题,您可以帮我点击屏幕上的任意广告,或者赞助少量费用来支持我的持续创作,谢谢~
