使用system()执行shell脚本返回256。这是什么意思?

我已经编写了一个Shell脚本来软重启HAProxy(反向代理)。从外壳执行脚本。但是我想要一个守护程序来执行脚本。那不行

system()返回256。我不知道这可能意味着什么。

#!/bin/sh

# save previous state

mv /home/haproxy/haproxy.cfg /home/haproxy/haproxy.cfg.old

mv /var/run/haproxy.pid /var/run/haproxy.pid.old

cp /tmp/haproxy.cfg.new /home/haproxy/haproxy.cfg

kill -TTOU $(cat /var/run/haproxy.pid.old)

if haproxy -p /var/run/haproxy.pid -f /home/haproxy/haproxy.cfg; then

kill -USR1 $(cat /var/run/haproxy.pid.old)

rm -f /var/run/haproxy.pid.old

exit 1

else

kill -TTIN $(cat /var/run/haproxy.pid.old)

rm -f /var/run/haproxy.pid

mv /var/run/haproxy.pid.old /var/run/haproxy.pid

mv /home/haproxy/haproxy.cfg /home/haproxy/haproxy.cfg.err

mv /home/haproxy/haproxy.cfg.old /home/haproxy/haproxy.cfg

exit 0

fi

HAProxy与用户haproxy一起执行。我的守护程序也有它自己的用户。两者都使用sudo运行。

有什么提示吗?

回答:

根据这个和那个,Perl的system()返回退出值乘以256。所以它实际上是通过退出的1

以上是 使用system()执行shell脚本返回256。这是什么意思? 的全部内容, 来源链接: utcz.com/qa/435691.html

回到顶部