Bash 脚本在系统启动时未按预期执行

Bash script not executing as expected on system boot

我在 /etc/init.d 上 raspbian jessie - pixel 创建了一个 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. forever 启动后,运行 python 脚本 simulation.py: python simulation.py

问题是 forever 启动成功python 脚本没有 运行.

当我 运行 在终端中使用 ./auto_announce 上面的脚本时,脚本运行良好。但它在系统启动时不能完美运行。

我错过了什么?有没有办法记录上述脚本的输出以找出导致问题的原因?

谢谢。

可能 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)