0
現在、Pythonスクリプトを実行するinit.dスクリプトに問題があります。私は、Pythonファイルとinitスクリプトのパーミッションについて確かめました。 Initスクリプトは、Pythonの実行可能な行をちょうどecho "test" > /tmp/test.txt
に置き換えるとうまくいきます。Init.dスクリプトがPythonスクリプトを実行できません
Pythonファイルは行を出力し、1000回ループします。
#!/bin/sh
#
# /etc/init.d/incapsula-loggrabber
# init script for Incapsula.
# generated by 'myself'.
#
# chkconfig: 345 93 63
# description: Incapsula Logging Script
#
. /etc/init.d/functions
NAME=incapsula-loggrabber
DESC="Incapsula Script to Push logs to Splunk"
PYTHON="/bin/python"
PIDFILE="/var/run/incapsula-loggrabber.pid"
PYTHON_FILE="/root/inittest.py"
do_start() {
echo Starting Incapsula Script...
echo $PIDFILE is the file where pid resides
sudo python $PYTHON_FILE &
RETVAL=`echo $?`
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$NAME
}
do_stop() {
echo $PIDFILE is removed
kill `cat $PIDFILE`
RETVAL=`echo $?`
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$NAME
}
do_status() {
if [ -e $PIDFILE ]; then
echo $NAME is running, pid=`cat $PIDFILE`
else
echo $NAME is NOT running
exit 1
fi
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
do_start
;;
status)
do_status
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
esac
exit 0
このinitスクリプトを動作させるには何か不足している、または修正が必要なことはありますか?
実際の問題とは何ですか?エラーメッセージ? – dlmeetei
Pythonスクリプトは実行されていませんが、私はinitスクリプトから呼び出されたプロセスを見ることができます。 Pythonスクリプト: インポート時間 F =オープン( "/ hfapp /フロントエンド/ initest.txt"、 "W +") Iの範囲は(1000)で: f.write( "これは、行%dとtime.sleep(5) f.close() このスクリプトはテキストファイルに書き込む必要がありますが、スクリプトごとに追加されません。 – Momooo
どのくらいの時間待っていますか? 1000回ループして5秒ごとにスリープしている場合は、ファイルを終了して書き出すのに少し時間がかかります – lxop