3
stdout을 파일로 리디렉션하는 방법을 알고 있지만 stdout을 프로세스 (Linux 환경)로 리디렉션 할 수 있습니까?실행중인 프로세스로 stdout 리디렉션
예를 들어 "~^Z"를 통해 활성 SSH 세션을 백그라운드로 이동하면 내 로컬 호스트에서 다른 프로그램을 시작하고 표준 출력을 SSH 세션으로 리디렉션 할 수 있습니까?
감사합니다.
stdout을 파일로 리디렉션하는 방법을 알고 있지만 stdout을 프로세스 (Linux 환경)로 리디렉션 할 수 있습니까?실행중인 프로세스로 stdout 리디렉션
예를 들어 "~^Z"를 통해 활성 SSH 세션을 백그라운드로 이동하면 내 로컬 호스트에서 다른 프로그램을 시작하고 표준 출력을 SSH 세션으로 리디렉션 할 수 있습니까?
감사합니다.
때때로
echo "something" > /proc/pid-of-process/fd/0
작품 같은 트릭하지만이되고 가상에 연결하는 경우, 그것은하지 않습니다.
그래서 여기에 원하는 것을 할 수있는 한 가지 방법이 있습니다.
mkfifo mypipe
)사용 꼬리 :
tail -f mypipe | ssh -t -t [email protected]
전송하는 것은 당신이에 가고 싶어 어떤 명명 된 파이프에 SSH 세션, 예를 들면 : 당신이 서로 파이프 물건이 필요하면 그래서
echo "ls -l" > mypipe
프로그램, 당신은 단지 당신이 완료
./my-program > /path/to/mypipe
할 것입니다.
일부 노트 :
tail
에 대한 -f
옵션은 파이프가 비어있을 때 SSH 프로세스가 EOF를받지 못하게하기 위해 필요합니다. 파이프가 닫히는 것을 방지하는 다른 방법이 있지만 이것은 제 의견으로는 가장 쉬운 방법입니다.ssh
에 대한 -t -t
옵션은 강제로 tty 할당을 강제합니다. 그렇지 않으면 stdin이 (가) 당신의 경우에 파이프되어 있기 때문에 불평 할 것입니다.
나는 명명 된 파이프를 사용하여 게임하려고하는 이상한 게임을 생각해 낼 수 있습니다.하지만 꽤 좋지는 않을 것입니다. –
이것은 준 관련이 없지만이 기사를 충분히 추천 할 수는 없습니다. http://www.linusakesson.net/programming/tty/index.php. 왜 아래 명명 된 파이프 솔루션이 작동하는지 설명합니다. – nsfyn55