我正在尝试使用此脚本运行Monit。这个脚本在命令行的root下完全运行,但是当我尝试从shell环境运行它时,它在管道符号后不起作用,即当我调试时我可以看到它运行直到管道符号和管道符号之后的ffmpeg命令既不从root也不从任何其他用户运行。感谢您的帮助。
#!/bin/sh
pid_file="/home/tester/radio1.pid"
name="radio1"
case "$1" in
start)
echo "Start radio";
rtl_fm -f 93.2970M -M wbfm | /opt/ffmpeg_qsv/ffmpeg/ffmpeg -f s16le -ac 1 -i pipe:0 -acodec libmp3lame -ab 128k -f flv rtmp://localhost:1935/live/test" &
ch_pid=$!
echo $ch_pid
echo $ch_pid > $pid_file
echo `( >>/dev/null )&`;
;;
stop)
echo "Stop radio";
PID=`cat $pid_file 2>/dev/null`
kill $PID >/dev/null 2>&1
rm -f $pid_file
;;
*)
echo "Usage: /etc/init.d/$name {start|stop}"
exit 1
;;
esac
exit 0