2012-04-05 2 views
0

원격 명령을 실행하고 출력을 로컬 파일로 리디렉션하는 스크립트가 있습니다.ssh를 통해 로컬 부모로부터 원격 자식에게 신호 전달

원격 명령은 pcap 파일 목록을 계속 읽고 stdout에 씁니다.

최종 명령은 다음과 같다 -

ssh [email protected] /sbin/path-to-utility | cat > local-file 

이 원격 명령은 전체 전송의 상태를 저장하는 신호 처리기를 가질 필요가 실행하는 스크립트.

또한 원격 명령이나 프로세스로 신호를 보내서 pcap 파일 읽기를 중지하고 현재 파일 쓰기가 끝난 후에 종료하려고합니다.

나는 -t 옵션을 사용하고 신호 처리가 완벽하게 작동하지만 원격 명령으로 작성된 실제 출력에 여분의 문자를 추가하고 내 pcap 데이터를 방해합니다.

ssh를 통해 -t 옵션없이 신호를 처리해야하거나 ssh -t가 실제 데이터에 추가 바이트를 추가하는 이유를 알아야합니다.

도와주세요!

감사합니다,

Sachin.

답변

0

-t 옵션은 ssh에게 터미널을 할당하도록 지시합니다. 추가 문자는 터미널에서 해석하기위한 것입니다.

아마도 다른 문자를 생성하지 않지만 신호를 계속 전달할 다른 터미널을 사용하고 있다고 ssh에게 알려야합니다. 이게 효과가 있니?

TERM=dumb ssh [email protected] /sbin/path-to-utility | cat > local-file 

(내가 TERM에 사용하는 최고의 가치 일 것입니다 무슨 모른다.) 답장을

+0

감사합니다! 나는 운이없는 해결책을 당신에게 시도했다! 나는 여전히 "Linux"와 같은 다른 TERM 값을 사용했지만 여전히 작동하지 않습니다! 감사합니다. Sachin –

+0

아마도 'TERM =' ''(두 개의 작은 따옴표)일까요? – dave4420

+0

작동하지 않습니다 ... 다시 한번 감사드립니다! –

관련 문제