关于网友提出的“我在/etc/initd/目录中建了一个服务脚本,但是脚本中的reload函数无法执行”问题疑问,本网通过在网上对“我在/etc/initd/目录中建了一个服务脚本,但是脚本中的reload函数无法执行”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:我在/etc/initd/目录中建了一个服务脚本,但是脚本中的reload函数无法执行
描述:/etc/init.d/shadowsocks
bash
#!/bin/sh
start(){
ssserver -c /etc/shadowsocks.json -d start
}
stop(){
ssserver -c /etc/shadowsocks.json -d stop
}
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
stop
start
;;
*)
echo "Usage: $0 {start|reload|stop}"
exit 1
;;
esac
这个脚本如果单独执行,start|reload|stop 都能正常执行。
但是用 service shadowsocks reload
就不行,start|stop 正常,
提示reload: Job is not running: shadowsocks
是个什么情况?
解决方案1:建议处理下方法中的错误输出,如:
stop(){
ssserver -c /etc/shadowsocks.json -d stop >/dev/null 2>&1
}
解决方案2:报错看样子是ssserver -c /etc/shadowsocks.json -d stop的,如果单独执行stop是不是也会报这个错误?先判断下ssserver是否在运行。
以上介绍了“我在/etc/initd/目录中建了一个服务脚本,但是脚本中的reload函数无法执行”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1138823.html