【问题标题】:Start service with start-stop-daemon on Ubuntu 16.04 with timeout在 Ubuntu 16.04 上使用 start-stop-daemon 启动服务并超时
【发布时间】:2018-02-25 16:15:11
【问题描述】:
我有带有启动/停止/重启选项的 /etc/init.d/stream 进程。
它使用来自 /etc/default/stream DAEMON_OPTIONS 的守护程序选项运行 ffmpeg。
从后台开始 (-b) crate pid (/var/run/stream/stream.pid) 等。
如果超过 60 秒,我如何添加超时 60 秒以确保流将被强制停止。超时?
无法运行“--exec timeout 60 ffmpeg”,因为服务只运行超时命令。
我错过了什么或尝试使用错误的命令?
【问题讨论】:
标签:
ffmpeg
timeout
start-stop-daemon
【解决方案1】:
对于初学者,请尝试在命令中使用引号。您可能需要使用如下反斜杠转义它们:\'
听起来你说的是服务只是--exec(ing)这个命令:
“超时”
当你真正想要的命令是:
“超时 60 ffmpeg”
所以试试这些:
"--exec 'timeout 60 ffmpeg'"
或:
'--exec "timeout 60 ffmpeg"'
或者可能:
--exec \"timeout 60 ffmpeg\""
您应该能够 --exec 任何命令,无论它有多少字或命令行选项。您还应该能够 --exec 用分号分隔的多个命令。
【解决方案2】:
感谢@TalkVideo Network,我已将 DAEMON 变量更改为:
DAEMON=" /usr/bin/timeout $TIMEOUT /usr/bin/ffmpeg "
服务运行正常!