2017-02-06 10 views
3

rashbian jessie-pixelの/etc/init.dにbashスクリプトを作成しました。スクリプトは以下の通りである:私がする必要がどのようなシステム起動時にBashスクリプトが期待どおりに実行されない

auto_announce

#! /bin/bash 
#/etc/init.d/auto_announce 

### BEGIN INIT INFO 
# Provides:   auto_announce 
# Required-Start: $remote_fs $syslog 
# Required-Stop:  $remote_fs $syslog 
# Default-Start:  2 3 4 5 
# Default-Stop:  0 1 6 
# Short-Description: Start daemon at boot time 
# Description:  Enable service provided by daemon. 
### END INIT INFO 


amixer cset numid=3 1 
(cd /home/pi/vehicle_anouncement_system/ && forever start app.js) && (python /home/pi/vehicle_anouncement_system/simulation.py) 

は次のとおりです。

  1. app.jsの永遠開始:forever start app.js

  2. 後永遠に起動され、Pythonスクリプトのシミュレーションを実行する:python simulation.py

問題が正常に起動しが、Pythonスクリプトはを実行しません永遠です。

./auto_announceを使用して上記のスクリプトを実行すると、スクリプトは完全に動作します。しかし、システム起動時に完全には動作しません。

私には何が欠けていますか?上記のスクリプトの出力を記録して問題の原因を突き止める方法はありますか?

ありがとうございました。

+1

はい、ログに記録する方法があります。例えば。スクリプトにリダイレクションを追加します。しかし、もしあなたがsystemdを使っているのであれば、代わりにサービスを書くことをお勧めしたいと思います。ロギング。 – Biffen

答えて

1

恐らくforever start app.jsが実行されることがありますので、python /home/pi/vehicle_anouncement_system/simulation.pyを実行する前にいくつかのスリープを入れてください。 つまり試着(cd /home/pi/vehicle_anouncement_system/ && forever start app.js) && (sleep 20) && (python /home/pi/vehicle_anouncement_system/simulation.py)

+0

これは起動時に機能しますが、ターミナルで直接実行するとスリープなしで動作するのはなぜですか。 –

関連する問題