如何使用 SSH 启动 nohup ffmpeg 命令并在断开连接后保持其运行?

如何使用 SSH 启动 nohup ffmpeg 命令并在断开连接后保持其运行?

我正在尝试通过 SSH 启动一系列 FFMPEG 命令。我的 SSH 客户端是 Windows Server 2019(版本 1809 内部版本 17763.2114)中的本机 openssh (7.7.2.1) 客户端。我试图运行的命令是这样的:

C:\Windows\System32\OpenSSH\ssh.exe -v [email protected] -n -t 'nohup /home/user1/ffmpeg/ffmpeg -f lavfi -i testsrc -f null - -nostdin -nostats -hide_banner -loglevel error &'

其他 stackexchange 答案表明使用“nohup”和“&”命令将启动命令并释放控制台。我面临的问题是命令运行,但控制台不会释放会话并保持命令运行。

如果我将“\”附加到行尾,会话将释放,但命令将停止。

如果我强制断开连接,那么 ffmpeg 命令会继续运行,但我需要一种平稳的方式来释放该进程,以便我的 powershell 脚本可以继续运行。我想将所有这些命令保留在一行上。我如何连接、启动此命令、断开连接并使其保持运行?

答案1

我很快找到了答案。我必须通过重定向控制台输出来修改我自己的命令。

C:\Windows\System32\OpenSSH\ssh.exe -v [email protected] -n "nohup /home/user1/ffmpeg/ffmpeg -f lavfi -i testsrc -f null - -nostdin -nostats -hide_banner -loglevel error > /dev/null 2>&1  &  "

我将能够用另一个文件替换 /dev/null 来写入输出。

相关内容