Linux增加开机启动项

找到/etc/rc.local

用vim打开此文件

加入以下示例:

cd /opt/ACS_Server/bin/
sh startup.sh
 
:wq保存退出即可
### Linux系统中添加开机启动项的方式 #### 使用`crontab` 对于一些Linux版本,默认提供`cron`这一定时任务的系统服务并作为守护进程默认开启,可以利用`crontab`来配置开机启动。不过这种方法生效的前提条件是已安装`cronie`软件包,并且该服务已经作为守护进程被启用[^1]。 ```bash # 编辑当前用户的crontab文件 crontab -e ``` 在打开的编辑器里加入如下行: ```bash @reboot /path/to/script.sh ``` 这表示当系统重启时会执行指定脚本。 #### 修改`rc.local`文件 通过编辑`/etc/rc.local`文件也是一种常见做法,在此之前需确认赋予了可执行权限给它。在此文件中的命令会在所有其他初始化脚本之后被执行。可以在其中添加想要开机启动的服务或程序的相关指令,比如MySQL、Nginx等服务的启动命令[^2]。 ```bash touch /var/lock/subsys/local /etc/init.d/mysqld start /etc/init.d/nginx start ... ``` 需要注意的是,由于现代系统的并行化处理机制,`rc.local`可能不会像预期那样最后才运行[^5]。 #### 创建Systemd Service Unit Files 针对较新的Linux发行版推荐采用创建systemd service unit files的方法。这些文件通常存放在`/usr/lib/systemd/system`目录下,具有`.service`扩展名。以754权限保存能够确保其正常工作[^3]。 假设要使Supervisord服务随系统一起启动,则可在上述提到的路径新建名为`supervisord.service`的文件,内容大致如下所示: ```ini [Unit] Description=Supervisor process control system for UNIX Documentation=http://supervisord.org After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown ExecReload=/usr/bin/supervisorctl $OPTIONS reload KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target ``` 完成编写后,为了激活新定义的服务单元使之成为开机启动的一部分,还需执行以下命令: ```bash sudo systemctl enable supervisord.service ``` #### 放置启动脚本至特定位置 另外一种较为传统但仍然有效的方式就是把待启动的应用程序或者脚本复制到`/etc/init.d/`或者是它的软链接`/etc/rc.d/init.d/`内[^4]。 ```bash cp myapp-init-script.sh /etc/init.d/ chmod +x /etc/init.d/myapp-init-script.sh ``` 随后同样可以通过`chkconfig`工具或者其他方式将其注册为开机启动项目之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值