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

前端之家收集整理的这篇文章主要介绍了用system()执行shell脚本会返回256.这是什么意思?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我写了一个 shell脚本来软启动HAProxy(反向代理).从shell执行脚本工作.但是我想要一个守护进程来执行脚本.那不行. system()返回256.我不知道这可能意味着什么.
  1. #!/bin/sh
  2. # save prevIoUs state
  3. mv /home/haproxy/haproxy.cfg /home/haproxy/haproxy.cfg.old
  4. mv /var/run/haproxy.pid /var/run/haproxy.pid.old
  5.  
  6. cp /tmp/haproxy.cfg.new /home/haproxy/haproxy.cfg
  7. kill -TTOU $(cat /var/run/haproxy.pid.old)
  8. if haproxy -p /var/run/haproxy.pid -f /home/haproxy/haproxy.cfg; then
  9. kill -USR1 $(cat /var/run/haproxy.pid.old)
  10. rm -f /var/run/haproxy.pid.old
  11. exit 1
  12. else
  13. kill -TTIN $(cat /var/run/haproxy.pid.old)
  14. rm -f /var/run/haproxy.pid
  15. mv /var/run/haproxy.pid.old /var/run/haproxy.pid
  16. mv /home/haproxy/haproxy.cfg /home/haproxy/haproxy.cfg.err
  17. mv /home/haproxy/haproxy.cfg.old /home/haproxy/haproxy.cfg
  18. exit 0
  19. fi

HAProxy用用户haproxy执行.我的守护进程也是自己的用户.两个都用sudo运行.

任何提示

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

猜你在找的Bash相关文章