linux 配置开机自启的方法
时间: 2023-06-12 08:06:26 浏览: 104
Linux 配置开机自启动可以通过以下两种方法实现:
1. 使用系统服务
在 Linux 中,可以使用系统服务(systemd)来创建开机自启动服务。具体步骤如下:
1. 创建一个 systemd 服务文件,文件位于 `/etc/systemd/system/` 目录下,文件名以 `.service` 结尾,比如:`myapp.service`。
2. 编辑 `myapp.service` 文件,设置服务的名称、描述、执行命令等属性,示例如下:
```shell
[Unit]
Description=My Application
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/myapp
[Install]
WantedBy=multi-user.target
```
上述配置中,`Description` 是服务的描述,`After` 指定服务启动的顺序,`Type` 指定服务的类型(simple 指的是普通的命令行程序),`ExecStart` 指定服务的启动命令,`WantedBy` 指定服务所属的目标(这里指定为 multi-user.target,表示在多用户模式下启动)。
3. 保存 `myapp.service` 文件,执行 `systemctl daemon-reload` 命令重新加载 systemd 配置文件。
4. 使用 `systemctl enable myapp.service` 命令启用服务的自启动功能。
现在,每次系统启动时,`myapp` 服务都会自动启动。
2. 使用启动脚本
另一种方式是使用启动脚本。具体步骤如下:
1. 创建一个启动脚本,通常位于 `/etc/init.d/` 目录下,文件名可以任意取,比如:`myapp.sh`。
2. 编辑 `myapp.sh` 文件,设置脚本的执行命令等属性,示例如下:
```shell
#!/bin/bash
#
# My Application
#
# chkconfig: 345 99 01
# description: My Application
#
# processname: myapp
# pidfile: /var/run/myapp.pid
case "$1" in
start)
echo "Starting My Application..."
/usr/local/bin/myapp &
;;
stop)
echo "Stopping My Application..."
killall myapp
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0
```
上述配置中,`chkconfig` 指定服务的启动级别和顺序,`description` 是服务的描述,`processname` 指定进程的名字,`pidfile` 指定进程的 PID 文件路径,`case` 语句中包含了启动和停止服务的逻辑。
3. 保存 `myapp.sh` 文件,执行 `chmod +x myapp.sh` 命令给脚本添加执行权限。
4. 使用 `chkconfig --add myapp.sh` 命令添加脚本到系统服务中,使用 `chkconfig myapp.sh on` 命令启用服务的自启动功能。
现在,每次系统启动时,`myapp.sh` 脚本都会自动执行。