在 Linux 中设置进程开机启动,常见做法取决于你使用的发行版和初始化系统。下面按最常用的情况说明。
假设你要开机启动 /opt/myprogram/run.sh
sudo vim /etc/systemd/system/myprogram.service
内容示例:
[Unit]
Description=My Program
After=network.target
[Service]
ExecStart=/opt/myprogram/run.sh
Restart=on-failure
User=root
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable myprogram
sudo systemctl start myprogram
查看状态:
systemctl status myprogram
✅ 开机自动启动完成
sudo vim /etc/rc.local
在 exit 0 之前加:
/opt/myprogram/run.sh &
chmod +x /etc/rc.local
⚠️ 注意:部分新系统默认禁用 rc.local
crontab -e
添加:
@reboot /opt/myprogram/run.sh
适合用户级进程,不一定需要 root。
vim /etc/init.d/myprogram
写成 init 脚本后:
chkconfig --add myprogram
chkconfig myprogram on
--restart=always| 场景 | 推荐方式 |
|---|---|
| 服务器服务 | systemd |
| 简单脚本 | crontab @reboot |
| 老系统 | init.d |
| 临时测试 | rc.local |
如果你告诉我:
我可以给你精准配置示例。