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

前端之家收集整理的这篇文章主要介绍了用system()执行shell脚本会返回256.这是什么意思?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我写了一个 shell脚本来软启动HAProxy(反向代理).从shell执行脚本工作.但是我想要一个守护进程来执行脚本.那不行. 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运行.

任何提示

根据 thisthat,Perl的系统()返回退出值乘以256,所以它实际上是退出1.似乎 this happens in C too.

猜你在找的Bash相关文章