Linux开机启动设置全攻略
linux 设置开机启动
在 Linux 系统中,设置开机启动通常涉及到编辑系统的启动配置文件。这可以通过多种方式完成,具体取决于你使用的 Linux 发行版(例如 Ubuntu、CentOS、Fedora 等)。下面是一些常见 Linux 发行版设置开机启动的通用方法:
1. 使用 systemctl(适用于 systemd 系统,如最新的 Ubuntu、Fedora、CentOS 8 及更高版本)
- 创建 systemd 服务文件
- 创建一个新的 systemd 服务文件。例如,如果你想要你的脚本或程序在开机时运行,你可以创建一个
.service 文件。例如,/etc/systemd/system/myapp.service。
[Unit]
Description=My Application[Service]
ExecStart=/path/to/your/application[Install]
WantedBy=multi-user.target
重新加载 systemd 配置
sudo systemctl daemon-reload
启用服务:
sudo systemctl enable myapp.service
启动服务:
sudo systemctl start myapp.service
2、使用 crontab(适用于所有 Linux 发行版)
- 编辑 crontab:
crontab -e
- 添加开机启动任务:
在打开的编辑器中,添加以下行:
@reboot /path/to/your/application
- 保存并退出编辑器。
3、 使用 rc.local(适用于较旧的 Linux 发行版)
- 编辑 rc.local 文件:
sudo nano /etc/rc.local
- 在 exit 0 之前添加你的命令:
/path/to/your/application &
- 保存并关闭文件
。确保 /etc/rc.local 文件有执行权限:
sudo chmod +x /etc/rc.local
4、使用 init.d 脚本(较旧的 Debian/Ubuntu 系统)
- 创建一个 init.d 脚本:例如,/etc/init.d/myapp。
#!/bin/sh
### BEGIN INIT INFO
# Provides: myapp
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFOcase "$1" instart)echo "Starting myapp"/path/to/your/application &;;stop)echo "Stopping myapp"killall myapp;;*)echo "Usage: /etc/init.d/myapp {start|stop}"exit 1;;
esac
exit 0
2、使脚本可执行:
sudo chmod +x /etc/init.d/myapp
3、使用 update-rc.d 命令添加到启动脚本中:
sudo update-rc.d myapp defaults
或者对于较新的系统,使用:
sudo systemctl enable myapp.service # 如果已经转换为 systemd 服务。
选择适合你系统的方法来设置开机启动。如果你不确定你的系统使用哪种初始化系统(如 Systemd、SysVinit、Upstart 等),可以运行 ps --no-headers -o comm 1 来查看。如果输出是 systemd,那么你很可能在使用 systemd。