title: Executing shell script with system() returns 256. What does that mean?
body: <p>I've written a shell script to soft-restart HAProxy (reverse proxy). Executing the script from the shell works. But I want a daemon to execute the script. That doesn't work. <code>system()</code> returns 256. I have no clue what that might mean.</p>
  
  <pre><code>#!/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
  </code></pre>
  
  <p>HAProxy is executed with user haproxy. My daemon has it's own user too. Both run with sudo.</p>
  
  <p>Any hints?</p>