मैंने हैप्क्रोक्सी (रिवर्स प्रॉक्सी) को नरम-पुनरारंभ करने के लिए एक शेल स्क्रिप्ट लिखी है। खोल कार्यों से लिपि को निष्पादित करना। लेकिन मैं स्क्रिप्ट निष्पादित करने के लिए एक डिमन चाहता हूँ। यह काम नहीं करता है। system()
256 लौटाता है। मेरे पास कोई सुराग नहीं है जिसका अर्थ हो सकता है।सिस्टम के साथ खोल स्क्रिप्ट स्क्रिप्ट() 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
हैप्रोक्सी उपयोगकर्ता हैपरॉक्स के साथ निष्पादित किया जाता है। मेरे डिमन के पास भी इसका अपना उपयोगकर्ता है। दोनों सूडो के साथ भागते हैं।
कोई संकेत?
धन्यवाद! तो यह EPERM/* ऑपरेशन की अनुमति नहीं है */... लेकिन क्यों ... मैं सुडो के साथ डिमन शुरू करता हूं। –
पर्ल गुणा निकास मूल्य वापस नहीं करता है। यह उच्च 8 बिट्स में निकास कोड के साथ 16 बिट मान देता है। यह अक्सर वही होता है, लेकिन हमेशा नहीं। – mivk
यह अधिकांश लिनक्स/जीसीसी बाइनरी पर भी लागू होता है, न केवल पर्ल। –