在 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 "
和服务 运行 好的!
我有 /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 "
和服务 运行 好的!