私はRaspbian Jessieで作業しており、次のようにしてUpstartスクリプトを書きました。このチュートリアルここに私の/etc/init/videostream.conf
スクリプトファイルがあります。
# RPI Camera Service
description "RPICAM streaming"
author "My Name "
start on filesystem or runlevel [2345]
stop on shutdown or runlevel [016]
respawn
respawn limit 2 5
env HOME=/etc/default
umask 007
usage "videostream {start|stop|status|restart}"
script
export PATH=/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export HOME="/etc/default"
echo $$ > /var/run/videostream.pid
exec /etc/default/videostream >/dev/null 2>&1 &
end script
post-start script
echo "[`date`] videostream is Started" >> /var/log/videostream.log
end script
pre-start script
echo "[`date`] videostream Starting" >> /var/log/videostream.log
end script
pre-stop script
rm /var/run/videostream.pid
killall -w -q raspivid
killall -w -q ffmpeg
echo "[`date`] videostream Stopping" >> /var/log/videostream.log
end script
を使って upstart をインストールしますsudo apt-get install upstart
。
システムを再起動すると、サービスは正常に起動し、正常に動作します。問題は、再起動後、システムが正常に動作するまで、サービスを停止したり起動したりできないことです。
ステータスを尋ねると、次のようになります:
sudo service videostream status
# Result
videostream stop/waiting
しかし、ストリームを確認でき、ログ ファイルによると、起動時にサービスが 2 回開始されていない限り、サービスは動作しています。これはログ ファイルの一部です。
[Mon Jun 27 08:00:12 UTC 2016] videostream Starting
[Mon Jun 27 08:00:13 UTC 2016] videostream is Started
[Mon Jun 27 08:00:13 UTC 2016] videostream Starting
[Mon Jun 27 08:00:13 UTC 2016] videostream is Started
サービスを開始しようとすると、次のメッセージが表示されます。
sudo service videostream start
# Result
start: Job failed to start
誰か助けてくれませんか?何が問題なのかよく分かりません。