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을 출력을 쓸 다른 파일로 바꿀 수 있습니다.