在 Ubuntu 16.04 上使用 start-stop-daemon 启动服务并超时

Start service with start-stop-daemon on Ubuntu 16.04 with timeout

我有 /etc/init.d/stream 个处理 start/stop/restart 个选项。 它是 运行 ffmpeg,带有取自 /etc/default/stream DAEMON_OPTIONS 的守护程序选项。 从后台开始 (-b) crate pid (/var/run/stream/stream.pid) 等等

我如何添加超时 60 秒以确保如果超过 60 sek 流将被强制停止。超时?

不能运行“--exec timeout 60 ffmpeg”因为服务运行s只有超时命令。

我是不是遗漏了什么或尝试使用错误的命令?

对于初学者,请尝试在命令中使用引号。您可能需要像这样用反斜杠转义它们:\'

听起来你所说的是服务只是 --exec(ing) 这个命令:

"timeout"

当你真正想要的命令是: "timeout 60 ffmpeg"

所以试试这些: "--exec 'timeout 60 ffmpeg'"

或: '--exec "timeout 60 ffmpeg"'

或者可能: --exec \"timeout 60 ffmpeg\""

您应该能够 --exec 任何命令,无论它有多少个单词或命令行选项。您还应该能够 --exec 以分号分隔的多个命令。

感谢@TalkVideo Network,我已将 DAEMON 变量更改为:

DAEMON=" /usr/bin/timeout $TIMEOUT /usr/bin/ffmpeg "

和服务 运行 好的!