Я написал программу в C++, которая работает на малине Pi и слушает встроенный последовательный порт (в цикле) для информации из сенсорной сети, которую я установил. Я хочу, чтобы это программное обеспечение запускалось при загрузке pi, поэтому для этой цели я написал сценарий инициализации. Сценарий успешно запускает процесс, так как данные регистрируются в моей базе данных, но всякий раз, когда я использую "service sensorlogger start", я получаю следующее:
[....] Starting the process: sensorlogger
который просто сидит в моей командной строке до тех пор, пока я ^ C не закончит программу.
У меня есть отрывок из моего initscript ниже. При необходимости я могу включить весь скрипт. Заранее спасибо за любую помощь, которую я могу получить с этим!
test -x $DAEMON || exit 5
case $1 in
start)
# Checked the PID file exists and check the actual status of process
if [ -e $PIDFILE ]; then
status_of_proc -p $PIDFILE $DAEMON "$NAME process" && status="0" || status="$?"
# If the status is SUCCESS then don't need to start again.
if [ $status = "0" ]; then
exit # Exit
fi
fi
# Start the daemon.
log_daemon_msg "Starting the process" "$NAME"
# Start the daemon with the help of start-stop-daemon
# Log the message appropriately
if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON ; then
log_end_msg 0
else
log_end_msg 1
fi
;;
попробуйте добавить параметр -b
start-stop-daemon --start --quiet -b --oknodo --pidfile $ PIDFILE --exec $ DAEMON;