bash 스크립트에서 동시에 다른 명령과 함께 ssh 명령 실행

bash 스크립트에서 동시에 다른 명령과 함께 ssh 명령 실행

다음 스크립트가 있습니다

#!/bin/bash
for (( c=0; c<=9; c++ ))
do  
    ssh -t 192.168.30.11 "tshark -i eth1 -f 'src host 192.168.31.10 and tcp' -w shared_folder/results/bbb_var_4_exp_pcaps/capture-output-$c.pcap -a duration:205" &
    python ~/shared_folder/tapas/play.py -u http://192.168.31.10/video-content/mm_videos/bbb_var_4/bbb_var_4.m3u8 -m fake -l my-exp-logs/bbb_var_4_exp_logs 
    sleep 210
done

ssh백그라운드에서 명령을 실행하려고 하는데 두 번째 명령을 python완료하는 데 첫 번째 명령이 필요하지 않습니다. 하지만 ssh 명령줄 끝에 &를 추가하면 그냥 멈춥니다.

어떤 아이디어가 있나요?

답변1

나는 그 주장이 명령을 백그라운드로 -t보내는 것과 호환되지 않는다고 생각합니다 .ssh

옵션 1

다음을 생략하세요 -t:

ssh remote-machine 'command' &

옵션 2

보내기원격배경으로 프로세스를 진행합니다. 당신은해야 할 수도 있습니다stdin, stdout, stderr에서 원격 프로세스를 분리합니다.즉시 돌아올 수 있도록 하려면 ssh:

ssh -t remote-machine 'command < /dev/null &> /dev/null &'

관련 정보