RedHat/CentOS
chkconfig
- 文件存放位置:
/etc/init.d/
- 启动方式:
chkconfig --add mysql --level 2345
systemd
- 文件存放位置:
/usr/lib/systemd/system/
- 启动方式:
systemctl enable mysql
rc.local
- 内容写入:
/etc/init.d/rc.local
Ubuntu/Debian/Deepin(16/18版本之后)
chkconfig
- 文件存放位置:
/etc/init.d/
- 启动方式:
chkconfig --add mysql --level 2345
systemd
- 文件存放位置:
/usr/lib/systemd/system/
- 启动方式:
systemctl enable mysql
rc.local
- 内容写入:
/etc/init.d/rc.local
MacOS
使用launchd方式添加启动项
Apple 要求开发者使用 launchd 来添加开机启动服务,这个 launchd 会用两个进程来启动服务,分别是daemon一个是agent。前者处理系统开机后并启动服务,后者处理用户登录后并启动服务,他们的配置文件是一个符合 xml 规范的plist文本文档来实现的,该plist位于以下目录,各目录决定了其启动的先后和拥有的权限:
~/Library/LaunchAgents
特定用户登录后以当前用户启动,第三方程序一般都放这里/Library/LaunchAgents
任一用户登录后以当前用户启动,管理员使用/System/Library/LaunchAgents
系统组件,任一用户登录后以当前用户启动/Library/LaunchDaemons
系统装载时以root用户启动,管理员使用/System/Library/LaunchDaemons
系统组件,系统装载时以root用户启动
我们这里以redis、frpc两个应用为例。
Redis-Server
- Redis plist 配置文件
1 |
|
准备好以上文件后,将 plist 文件放到
/Library/LaunchDaemons/com.apple.redis-server.plist
,最后就是设置开机启动:
1 | sudo launchctl load -w /Library/LaunchDaemons/com.apple.redis-server.plist |
启动
1 | sudo launchctl start com.redis.redis-server |
frpc
~/Library/LaunchAgents/frp.plist
1 |
|
启动
1 | sudo launchctl start frp |
mac 下 Path had bad ownership/permissions 错误解决方法
修改 plist 文件权限即可:
1 | sudo chown root ~/Library/LaunchAgents/com.usbmux.iproxy.plist |