Выполнение сценария оболочки с помощью system () возвращает 256. Что это значит?

Я написал сценарий оболочки для мягкого перезапуска 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.

Есть подсказки?

17
задан Fermi paradox 25 December 2016 в 17:56
поделиться