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行に保ちたいです。接続し、このコマンドを開始し、切断して実行を続けるにはどうすればよいですか?
ベストアンサー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 を出力を書き込む別のファイルに置き換えることができます。