一个简单的方法,实现将自己需要的程序添加到开机启动项中,使其在vps系统启动后自动执行。
首先,进入
Short-Description 和 Description 随心情写。
需要执行的命令,按照正常的Bash Shell书写方式书写即可。
那么,我们设想我们需要创建一个名为 MyTest 的开机启动项,并要求其在开机时在 /root/mytest.txt 文件中写入一句话:“Hello Linux World !”,根据上面的模板,我们需要修改成这个样子:
接下来,我们将刚才编辑好的
那么,还有一个问题:那就是如何删除我们刚才创建的开机启动项呢?
答案很简单,只需要一条命令:
首先,进入
/etc/init.d
目录中:cd /etc/init.d/
然后,我们使用 ls
命令,会发现里面有一些文件。这些文件就是在开机启动时自动运行的程序。我们现在来开始添加一个自定义的开机启动项 MyTest :nano MyTest
文件名严格区分大小写,请注意!
你可以使用你自己喜欢的文本编辑工具进行编辑工作。此文以 nano为例。
然后,在继续之前,先看一下开机启动项文件的一个模板:#!/bin/sh
### BEGIN INIT INFO
# Provides: [程序名称,唯一]
# Required-Start: $remote_fs $local_fs
# Required-Stop: $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 2>&1 & 方式来启动!
最后的 exit 0 请不要删除!这个是返回正常退出信号的一个传值!那么,我们设想我们需要创建一个名为 MyTest 的开机启动项,并要求其在开机时在 /root/mytest.txt 文件中写入一句话:“Hello Linux World !”,根据上面的模板,我们需要修改成这个样子:
#!/bin/sh
### BEGIN INIT INFO
# Provides: MyTest
# Required-Start: $remote_fs $local_fs
# Required-Stop: $remote_fs $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: MyTest
# Description: MyTest Test Program
### END INIT INFO
echo "Hello Linux World!" >> /root/mytest.txt
exit 0
之后将文件保存,关闭编辑器。接下来,我们将刚才编辑好的
MyTest
文件加上可执行的属性(如果不加属性,启动脚本将无法运行):chmod +x MyTest
然后,将这个启动脚本加入开机启动项中:update-rc.d MyTest defaults
然后重新启动系统,或者命令行执行 /etc/init.d/MyTest
,执行启动脚本,然后使用 cat /root/mytest.txt
,验证文件是否正确创建。那么,还有一个问题:那就是如何删除我们刚才创建的开机启动项呢?
答案很简单,只需要一条命令:
update-rc.d -f MyTest remove
适用于debian/ubuntu vps.如果是centos/fedora,则
将启动脚本加入开机启动项中的命令
是:chkconfig
MyTest on
创建的开机启动项的命令是:
删除所
chkconfig
MyTest off
------------
不错,我测试成功。
实战例子:https://briteming.blogspot.com/2017/11/socks5-over-tls-https-and-http2-gost.html
No comments:
Post a Comment