c语言开机自启动 linux_Linux开机启动程序rc.local
在CentOS7中,实现开机启动程序主要有两种方法:
1)把要启动的程序配置成自定义的系统服务,该方法我已经介绍过,请阅读:CentOS7添加自定义系统服务。
2)在/etc/rc.local脚本文件中编写启动程序的脚本,本文将详细介绍这种方法。
1、/etc/rc.local是/etc/rc.d/rc.local的软链接
执行ls -l /etc/rc.local看看。
/etc/rc.local是/etc/rc.d/rc.local文件的软链接,也就是说他们是同一个文件。
2、rc.local文件的原始内容
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
#
touch /var/lock/subsys/local
中文意思如下:
# 添加此文件是为了兼容。
# 强烈建议创建自己的systemd服务或udev规则,以便在引导期间运行脚本,而不是使用此文件。
# 与以前版本不同,由于在引导期间并行执行,此脚本不会在所有其他服务之后运行。
# 请注意,必须运行'chmod+x/etc/rc.d/rc.local',以确保在引导期间执行此脚本。
明白了吧。
虽然Linux强烈建议采用自定义的系统服务实现开机自启动程序,不过我认为在rc.local中配置开机启动程序也是一个不错的方法,因为rc.local的配置更简单明了,所以仍被广泛的使用。
3、rc.local文件的配置
rc.local本质上是一个shell脚本文件,可以把启动时需要执行的命令写在里面,启动时将按顺序执行。
接下来我们来测试它。
1)在rc.local中添加以下脚本。
/usr/bin/date >> /tmp/date1.log # 把当前时间追加写入到/tmp/date1.log中。
/usr/bin/sleep 10 # 睡眠10秒。
/usr/bin/date >> /tmp/date2.log # 把当前时间追加写入到/tmp/date2.log中。
2)修改/etc/rc.d/rc.local的可执行权限。
chmod +x /etc/rc.d/rc.local
3)重启服务器。
4)查看日志文件/tmp/date1.log和/tmp/date2.log的内容。
4、应用经验
1)rc.local脚本在操作系统启动时只执行一次。
2)环境变量的问题。
在rc.local脚本中执行程序时是没有环境变量的,如果您执行的程序需要环境变量,可以在脚本中设置环境变量,也可以用su切换用户来执行,例如:
su - oracle -c "sqlplus scott/tiger @/tmp/test.sql"
以上命令的含义就是以oracle用户登录再执行sqlplus命令。
3)不要让rc.local挂起。
rc.local是一个脚本,是按顺序执行的,执行完一个程序后才会执行下一个程序,如果某程序不是后台程序,就应该加&让程序运行在后台,否则rc.local会挂起。
可以用以下脚本来测试,rc.local的内容如下:
/usr/bin/date >> /tmp/date1.log # 把当前时间追加写入到/tmp/date1.log中。
/usr/bin/sleep 100 # 睡眠100秒。
/usr/bin/date >> /tmp/date2.log # 把当前时间追加写入到/tmp/date2.log中。
如果采用了以上脚本,Linux系统在启动完成100后,才会出现以下的登录界面。
5、版权声明
C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
作者:码农有道
如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢!!!
如果文章有错别字,或者内容有错误,或其他的建议和意见,请您留言指正,非常感谢!!!
c语言开机自启动 linux_Linux开机启动程序rc.local相关推荐
- Linux开机启动程序rc.local
文章目录 1./etc/rc.local是/etc/rc.d/rc.local的软链接 2.rc.local文件的原始内容 3.rc.local文件的配置 4.应用经验 5.版权声明 在CentOS7 ...
- linux 程序加启动项,linux 让一个程序开机自启动并把一个程序加为服务
linux 让一个程序开机自启动并把一个程序加为服务 來源:互聯網 2016-05-27 08:31:00 評論 linux 让一个程序开机自启动并把一个程序加为服务 本文以tomcat7为例 首 ...
- CentOS7中设置.sh开机自启动(以后台启动geoserver为例)
场景 Geoserver在Linux上的安装(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/118963122 在上 ...
- Linux 开机自启动多个脚本程序
本篇文章讲解Linux 开机自启动程序 Linux开机自启动在项目中应用很常见,突然停电或者故障,程序总归要关掉的,如果手动去启动程序,比较麻烦,所以开机自启动是非常重要的一环. 在Debia ...
- windows下程序开机自启动(任务计划程序)
1.bat文件的建立 新建文本文件DebugStart.txt,打开写入以下内容: tasklist|find /i "KMX_Daemon.exe" && ech ...
- android 6.0关闭开机启动器,Android实现开机自启动及开机自启动失败原因
1.开机自启动实现代码 BroadcastReceiver开机自启动实现,MainActivity.class为自启动显示的页面. public class BootBroadcastReceiver ...
- Linux启动脚本rc.local 不执行的解决方法
文章目录 1./etc/rc.local是/etc/rc.d/rc.local的软链接 2.看看/etc/rc.d/rc.local的权限 3.修改/etc/rc.d/rc.local的可执行权限 4 ...
- ubuntu进入桌面自动启动脚本_在 Ubuntu 下开机自启动自己的 QT 程序而不启动 Ubuntu 的桌面...
1. /etc/profile 方式 实现这个功能,要完成两步: 1.系统设置-> 用户账户-> 点击我的账户-> 点击右上角的解锁-> 打开自动登录-> 点击右上角的锁 ...
- Win7批处理文件中开机自启动项的启动路径
1.打开启动路径:开始--所有程序--启动(右键单击)--打开 复制启动路径:C:\Users\ling\AppData\Roaming\Microsoft\Windows\Start Menu\Pr ...
最新文章
- SqlServer数据库基础知识整理(不断更新~)
- comsol 多物理场仿真流程-以开关柜为例
- 【剑指offer】面试题54:二叉搜索树的第k大节点(java)
- 【CodeVS2226】飞行棋
- js判断是否为ie浏览器
- iZotope RX 9 Advanced for Mac - 专业音频修复软件
- SQL注入漏洞解决心得
- 典型相关分析CCA计算过程
- 中小板企业上市要走哪些流程
- GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism
- 高德地图定位,搜索,导航功能
- python正则表达式提取字符串中的书名_使用python正则表达式从字符串中提取名称...
- java微信扫码支付_java 微信扫码支付 示例代码
- H3C系列交换机系统版本升级及导入配置
- 华纳云:MySQL数据丢失的原因是什么及怎么解决
- 可扩展的分布式数据库架构 vs 传统关系数据库
- 计算机专业哪些证书可以抵个税,个税专项附加扣除中继续教育哪些证书可以扣除?...
- 巴别塔圣经_承认巴别塔
- Surround With快捷键
- 面试回答问题太紧张,心理有点虚,面完就觉得自己蠢。怎么破!
热门文章
- Mozilla Firefox 全版本下载
- Codeforces Problem-133A HQ9+
- 从零开始Android游戏编程(第二版)
- 解决NameError: name '__file__' is not defined的方法
- python requests cookie处理
- 解决“C2001:常量中有换行符“编译问题
- Flowable入门系列文章35 - Activity解读 11
- 在手机安装 Kali Linux
- vue中新增弹出对话框操作
- 纯C语言写计算器界面