"공유"프로세스에 대해 "여러"네트워크 연결을 만들 수 있도록 프로세스 (예 : Bash)를 래핑하는 도구가 있습니까? 각 연결은 프로세스에 입력 (예 : 환경 변수 설정, 외부 명령 실행)을 보내고 프로세스의 해당 출력을 가져옵니다.다중 연결을 허용하는 프로세스를 래핑하는 도구
지금까지처럼, socat
을 사용하고 내가 찾은 가장 가까운 도구 :
server% socat exec:bash tcp-listen:1234,reuseaddr,fork
client1% socat - tcp:localhost:1234
client1% pwd
client1% x=123
client2% socat - tcp:localhost:1234
client2% echo $x # print 123 (but on client1!)
그러나 문제는 여러 활성 연결이있을 때, (서버)에서 출력이 클라이언트에 갈 수 있다는 것입니다 해당 입력을 보냈습니다.
해결 방법이 있습니까? 아니면 다른 도구가 있습니까? 가능하다면 도구는 입력을 "직렬화"해야하므로 경쟁 조건이 없습니다.
내 의도는 여러 라이브러리를 사용하는 스크립트를 래핑하는 것입니다. 매번 (꽤 오랜 시간이 걸립니다) 실행하는 대신 실행중인 스크립트 프로세스에 연결하고 실행할 명령을 보내면됩니다. .
둔한의 네트워킹 및 coprocess 기능에 대한 훌륭한 입문서있다 http://home.vr-web.de/Juergen.Kahrs/gawk/gawkinet에서 .html # Top, 자신 만의 롤링 위치. perl에서도 마찬가지입니다. 이 기사는 도움이 될 수있는 다른 도구 (socat 아님)를 참조합니다. 행운을 빕니다. – shellter