一般情况,服务器是极少重启的,没有特别必要我也是不会主动去重启的,如果必须这样做或者因为不可抗拒的因素自动重启了,那么很多程序,如:shadowsocks server,还要登录SSH要重新远程启动,很麻烦的。因此将程序添加到开机运行中是件可以带来很大便利的事情。
添加应用到 service
创建脚本 /etc/init.d/shadowsocks 文件(其实也是 /etc/rc.d/init.d/shadowsocks 文件):
[root@host ~]# vi /etc/init.d/shadowsocks
写入以下内容并保存退出:
#!/bin/sh # # shadowsocks start/restart/stop shadowsocks # # chkconfig: 2345 85 15 # description: start shadowsocks/ssserver at boot time start(){ ssserver -c /etc/shadowsocks.json -d start } stop(){ ssserver -c /etc/shadowsocks.json -d stop } restart(){ ssserver -c /etc/shadowsocks.json -d restart } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: $0 {start|restart|stop}" exit 1 ;; esac
会点bash,或者其他程序语言语法的,基本都看得懂是什么意思吧!其中:
前面的几行,看起来像注释,特别 chkconfig 那一行,不可删除,否则无法设置开机启动,会提示错误:service shadowsocks does not support chkconfig
chkconfig: 2345 85 15 中,2345 代表在设置在那个 level 中是 on 的。如果一个都不想 on,那就写一个横线”-“,比如:chkconfig: – 85 15。后面两个数字代表S和K的默认排序号
然后增加这个文件的可执行权限:
[root@host ~]# chmod +x /etc/init.d/shadowsocks
这样就可以在 shell 中直接运行下面的命令开启程序了(重启和停止同理):
[root@host ~]# service shadowsocks start
注意:
这里是Centos系统以root权限运行的,其他情况自行解决。
如果不给脚本文件加上其他用户的可执行权限,不带参数运行 service shadowsocks 会提示 unrecognized service。
设置开机启动
在上面脚本没有问题(也就是保留了前面 10 行,并且语法正确)的情况下,通过下面的命令,就可以设置程序自动启动了:
[root@host ~]# chkconfig shadowsocks on
做到这里我们的程序程序就会自动启动了。关于 shadowsocks 的安装,本站之前写过教程,可以自行搜索下。
实力教程分享,谢谢博主 :eek:
linux感觉好难
用多少,学多少 ..
我需要拿个本本记下来 哈哈哈
感谢博主的分享