linux 开机自动启动程序

本文介绍了如何通过编辑/etc/rc.local文件来实现Linux系统的开机自动启动特定程序或脚本的方法。例如,要在开机时运行位于/opt目录下的haha.sh脚本,只需在rc.local文件中添加相应的命令即可。
/etc/rc.local
这是一个最简单的方法,编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可,类似于 windows 下的“启动”。
 

例如,每次开机时要执行一个haha.sh,这个脚本放在/opt下面,那就可以在“/etc/rc.local”中加一行“/opt/./haha.sh”,或者两行“cd /opt”和“./haha.sh”。

=================================================================================================================

程序猿和程序媛必备的咖啡-OneDay咖啡生活-https://shop110384469.taobao.com/


Linux 系统中设置程序开机启动可以通过多种方法实现,具体取决于系统的初始化系统(如 Systemd 或 SysVinit)以及用户的偏好。 ### 使用 `systemd` 设置开机启动 `systemd` 是现代 Linux 发行版中常用的初始化系统,可以通过创建服务单元文件来管理开机启动程序。 1. **创建服务文件** 在 `/etc/systemd/system/` 目录下创建一个新的服务文件,例如 `my-auto-start-app.service`: ```ini [Unit] Description=My Auto Start Application After=network.target [Service] ExecStart=/usr/bin/python3 /path/to/your_script.py Restart=always User=your_username [Install] WantedBy=multi-user.target ``` 2. **启用服务** 执行以下命令启用服务,使其在系统启动自动运行: ```bash sudo systemctl enable my-auto-start-app.service ``` 3. **启动服务** 如果希望立即启动该服务而不重启系统,可以执行: ```bash sudo systemctl start my-auto-start-app.service ``` 4. **验证服务状态** 检查服务是否正常运行: ```bash sudo systemctl status my-auto-start-app.service ``` 此方法适用于大多数现代 Linux 发行版,并且具有良好的灵活性和稳定性[^1]。 ### 使用 `rc.local` 设置开机启动 对于使用 `SysVinit` 的系统,可以通过编辑 `/etc/rc.local` 文件实现开机启动。 1. **编辑 `/etc/rc.local` 文件** 在文件中添加需要开机执行的命令,例如: ```bash #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. /path/to/your_script.sh & exit 0 ``` 2. **赋予执行权限** 确保 `/etc/rc.local` 文件具有执行权限: ```bash sudo chmod +x /etc/rc.local ``` 3. **验证脚本执行** 重启系统后,确保脚本能够正常运行。可以通过查看日志或检查程序状态进行验证。 这种方法适用于较旧的 Linux 系统,但仍然在某些场景中具有实用性[^2]。 ### 使用 `cron` 设置开机启动 `cron` 是一个任务调度工具,也可以用于设置开机启动任务。 1. **编辑 `crontab` 文件** 执行以下命令编辑当前用户的 `crontab` 文件: ```bash crontab -e ``` 2. **添加开机任务** 在文件中添加以下行,表示在系统启动时执行指定脚本: ```bash @reboot /path/to/your_script.sh ``` 3. **保存并退出** 保存文件并退出编辑器,`cron` 会自动加载新任务。 这种方法适用于简单的开机任务,且无需复杂的配置。 ### 使用 `init.d` 脚本设置开机启动 对于使用 `SysVinit` 的系统,可以通过创建 `init.d` 脚本实现开机启动。 1. **创建脚本文件** 在 `/etc/init.d/` 目录下创建一个新的脚本文件,例如 `my-auto-start-app`: ```bash #!/bin/sh ### BEGIN INIT INFO # Provides: my-auto-start-app # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start my auto start app at boot time # Description: Enable service provided by my-auto-start-app. ### END INIT INFO case "$1" in start) echo "Starting my auto start app" /usr/bin/python3 /path/to/your_script.py & ;; stop) echo "Stopping my auto start app" pkill -f your_script.py ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0 ``` 2. **赋予执行权限** 执行以下命令赋予脚本执行权限: ```bash sudo chmod +x /etc/init.d/my-auto-start-app ``` 3. **创建软链接** 创建软链接以确保脚本在系统启动时运行: ```bash sudo update-rc.d my-auto-start-app defaults ``` 这种方法适用于较旧的 Linux 系统,并且提供了更细粒度的控制[^5]。 ### 使用 `Oracle` 自启动脚本 如果需要设置 Oracle 数据库的开机启动,可以通过创建软链接实现。 1. **创建软链接** 执行以下命令创建软链接,确保 Oracle 在系统启动和关闭时自动运行: ```bash sudo ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc0.d/K01oracle sudo ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc6.d/K01oracle ``` 2. **验证脚本执行** 重启系统后,确保 Oracle 数据库能够正常启动和关闭。 这种方法专门用于 Oracle 数据库,并且在特定场景中非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值