다른 쪽 끝이 닫힐 때 socat이 종료되지 않도록 중지


12

응용 프로그램 입력 및 출력을 유닉스 소켓으로 리디렉션하고 다른 세션에서 해당 소켓에 연결하고 싶습니다. 내가 지금하고있는 일은 다음과 같습니다.

"서버"측에서 :

socat EXEC:"command" UNIX-LISTEN:/tmp/comm

그리고 "클라이언트"측면에서 :

socat UNIX-CONNECT:/tmp/comm -

꽤 잘 작동하지만 클라이언트 측이 socat종료 되 자마자 서버도 종료됩니다. 하지만 나중에 계속 실행하고 다시 연결하고 싶습니다 ... 어떻게하면 되나요?

답변:


12

fork하위 프로세스에서 연결을 처리하는 옵션을 사용해야합니다 . 상위 프로세스가 더 많은 연결을 처리하도록합니다.

첫 번째 터미널에서 :

$ socat - UNIX-LISTEN:/tmp/comm,fork

두 번째 터미널에서 :

$ socat UNIX-CONNECT:/tmp/comm -

두 번째 터미널에서 Ctrl+ C를 누르고 첫 번째 터미널로 전환 한 후 서버가 여전히 실행 중인지 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.