मैं उबंटू का उपयोग कर रहा हूं और लिबर ऑफिस हेडलेस के लिए इस init.d स्क्रिप्ट को पाया।
समस्या यह है कि यह "स्टॉप" के लिए पूछे जाने पर प्रक्रिया को रोकना प्रतीत नहीं होता है। किसी भी मदद की बहुत सराहना की।
दो अन्य प्रश्न: मैंने अन्य init.d स्क्रिप्ट में कमांड स्टार्ट-स्टॉप-डेमॉन का उपयोग देखा है - इस स्क्रिप्ट में उपयोग किए गए दृष्टिकोण पर इसका क्या लाभ है? इसके अलावा, मैं इस स्क्रिप्ट को अनप्रीफ़ाइंड उपयोगकर्ताओं के रूप में चलाने में सक्षम होना चाहता हूं, लेकिन यह कहता है कि यह PID फ़ाइल नहीं बना सकता है। बिना स्क्रिप्ट वाले उपयोगकर्ताओं को इस स्क्रिप्ट को चलाने की अनुमति देने का "सही" तरीका क्या है?
धन्यवाद!
#!/bin/bash
# libreoffice.org headless server script
#
# chkconfig: 2345 80 30
# description: headless libreoffice server script
# processname: libreoffice
#
# Author: Vic Vijayakumar
# Modified by Federico Ch. Tomasczik
# Modified by Manuel Vega Ulloa
OOo_HOME=/usr/bin
SOFFICE_PATH=$OOo_HOME/soffice
PIDFILE=/var/run/libreoffice-server.pid
set -e
case "$1" in
start)
if [ -f $PIDFILE ]; then
echo "LibreOffice headless server has already started."
sleep 5
exit
fi
echo "Starting LibreOffice headless server"
$SOFFICE_PATH --headless --nologo --nofirststartwizard --accept="socket,host=127.0.0.1,port=2002;urp" & > /dev/null 2>&1
touch $PIDFILE
;;
stop)
if [ -f $PIDFILE ]; then
echo "Stopping LibreOffice headless server."
#killall -9 soffice
#killall -9 soffice.bin
killall -9 oosplash
#start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE --exec $DAEMON || true
rm -f $PIDFILE
exit
fi
echo "LibreOffice headless server is not running."
exit
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0