linux开机启动php程序,Linux开机启动程序rc.local(示例代码)

在CentOS7中,实现开机启动程序主要有两种方法:

1)把要启动的程序配置成自定义的系统服务,该方法我已经介绍过,请阅读:CentOS7添加自定义系统服务。

2)在/etc/rc.local脚本文件中编写启动程序的脚本,本文将详细介绍这种方法。

1、/etc/rc.local是/etc/rc.d/rc.local的软链接

执行ls -l /etc/rc.local看看。

4b0a8c2955ed287b085595b1afb5683b.png

/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的内容。

165a21d9ec882127e2b8cea81b6620da.png

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后,才会出现以下的登录界面。

72f161cf5e9f04743ca4e92c33466169.png

5、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢!!!

如果文章有错别字,或者内容有错误,或其他的建议和意见,请您留言指正,非常感谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值