여기 초보자입니다.
비지박스를 실행하는 IP 전화가 있습니다.
전화기 화면에서 일어나는 일을 캡처하고 실행하는 avconv라는 개발자로부터 스크립트를 받았습니다. 다음 명령을 사용합니다.
/data/avconv -f fbdev -r 25 -i /dev/fb0 /tmp/output.avi
완료되면 Ctrl+를 클릭하여 C스크립트를 중지합니다.
이제 이 명령을 실행하고 출력 비디오를 내 TFTP 서버에 복사하는 스크립트를 만들고 싶습니다. 그래서 아래 코드를 작성하고 FileName에 날짜 이름을 지정한 다음 명령을 실행합니다. 그런 다음 목표는 5초를 기다린 다음 pid를 찾고(프로세스 ID를 유지하기 위해 잘라냄) 이를 종료한 다음 FileName을 다음으로 보내는 것입니다. 내 tftp.. 그런 다음 파일을 삭제하세요..
FN=WE34_$(date +%Y%m%d-%H%M%S).avi
/data/avconv -f fbdev -r 25 -i /dev/fb0 /tmp/$FN
sleep 5
pid=`ps | grep avconv`
pidchopped=`echo $pid | cut -d' ' -f 1`
kill -5 $pidchopped
tftp -pl /tmp/$FN -r $FN 192.168.1.50
rm -f /tmp/$FN
문제는 스크립트의 두 번째 줄에 있는 명령이 나머지 스크립트의 실행을 중지하지 않는다는 것입니다. 도와주실 수 있나요? 어떤 팁/힌트/입력이라도 주시면 감사하겠습니다.. 미리 감사드립니다! !
답변1
avconv
스크립트의 나머지 부분을 계속 진행할 수 있도록 기다리지 않고 백그라운드에서 실행 하기만 하면 되는 것 같습니다 . 이것이 당신이 찾고 있는 것입니까?
이렇게 하려면 &
다음과 같이 줄 끝에 추가해 보세요.
/data/avconv -f fbdev -r 25 -i /dev/fb0 /tmp/$FN &