温馨提示×

linux进程怎么设开机启动

小樊
79
2026-09-15 17:10:24
栏目: 智能运维

在 Linux 中设置进程开机启动,常见做法取决于你使用的发行版和初始化系统。下面按最常用的情况说明。


一、Systemd(最常见,CentOS 7+/Ubuntu 16.04+/Debian 8+)

1. 创建一个 systemd 服务

假设你要开机启动 /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

2. 重载并启用

sudo systemctl daemon-reload
sudo systemctl enable myprogram
sudo systemctl start myprogram

查看状态:

systemctl status myprogram

✅ 开机自动启动完成


二、rc.local(简单但不推荐新系统)

1. 编辑 rc.local

sudo vim /etc/rc.local

在 exit 0 之前加:

/opt/myprogram/run.sh &

2. 赋可执行权限

chmod +x /etc/rc.local

⚠️ 注意:部分新系统默认禁用 rc.local


三、crontab @reboot(最简单)

crontab -e

添加:

@reboot /opt/myprogram/run.sh

适合用户级进程,不一定需要 root。


四、SysVinit(老系统 CentOS 6 等)

vim /etc/init.d/myprogram

写成 init 脚本后:

chkconfig --add myprogram
chkconfig myprogram on

五、容器 / 特殊场景

  • Docker:--restart=always
  • Kubernetes:Deployment / DaemonSet
  • supervisor:适合常驻进程管理

推荐总结

场景 推荐方式
服务器服务 systemd
简单脚本 crontab @reboot
老系统 init.d
临时测试 rc.local

如果你告诉我:

  • Linux 发行版
  • 进程类型(脚本 / 二进制 / Docker)
  • 是否需 root

我可以给你精准配置示例。

0 踩