周到的网站建设,合肥建筑网站大全,商城网站大全,360关键词排名百度有的时候#xff0c;经常有自己需要的程序#xff0c;官方并没有提供添加开机启动的方法#xff0c;但我们却需要让他们开机启动#xff08;比如探针类、飞机类、服务类程序等#xff09;。可能有的人会说#xff0c;可以使用 /etc/rc.local 啊。是可以使用这个#xff…有的时候经常有自己需要的程序官方并没有提供添加开机启动的方法但我们却需要让他们开机启动比如探针类、飞机类、服务类程序等。可能有的人会说可以使用 /etc/rc.local 啊。是可以使用这个但不是所有的系统都有 rc.local 。今天介绍一个简单的方法实现将自己需要的程序添加到开机启动项中并使其在系统启动后自动执行。
首先进入 /etc/init.d 目录中
cd /etc/init.d/
然后我们使用 ls 命令会发现里面有一些文件。这些文件就是在开机启动时自动运行的程序。我们现在来开始添加一个自定义的开机启动项 MyTest
vim MyTest 文件名严格区分大小写请注意 你可以使用你自己喜欢的文本编辑工具进行编辑工作。此文以 vim 为例。
然后在继续之前先看一下开机启动项文件的一个模板
#!/bin/sh### BEGIN INIT INFO
# Provides: [程序名称唯一]
# Required-Start: $network $remote_fs $local_fs
# Required-Stop: $network $remote_fs $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: [启动项的简短说明]
# Description: [启动项的完整说明]
### END INIT INFO[需要执行的命令]exit 0
在这个模板中Provides 是唯一的也就是在所有的开机启动项中Provides不能有任何同名冲突。
Short-Description 和 Description 随心情写。
需要执行的命令按照正常的Bash Shell书写方式书写即可。 友情提示需要后台静默运行的程序请使用 nohup [需要执行的命令] /dev/null 21 方式来启动
最后的 exit 0 请不要删除这个是返回正常退出信号的一个传值
那么我们设想我们需要创建一个名为 MyTest 的开机启动项并要求其在开机时在 /root/mytest.txt 文件中写入一句话“Hello Linux World !”根据上面的模板我们需要修改成这个样子
#!/bin/sh### BEGIN INIT INFO
# Provides: MyTest
# Required-Start: $network $remote_fs $local_fs
# Required-Stop: $network $remote_fs $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: MyTest
# Description: MyTest Test Program
### END INIT INFOecho Hello Linux World ! /root/mytest.txtexit 0
之后将文件保存关闭编辑器。
接下来我们将刚才编辑好的 MyTest 文件加上可执行的属性如果不加属性启动脚本将无法运行
chmod x MyTest
然后将这个启动脚本加入开机启动项中
update-rc.d MyTest defaults
然后重新启动系统或者命令行执行 /etc/init.d/MyTest 执行启动脚本然后使用 cat /root/mytest.txt验证文件是否正确创建。
那么还有一个问题那就是如何删除我们刚才创建的开机启动项呢
答案很简单只需要一条命令
update-rc.d -f MyTest remove