기존 프로세스를 소켓에 바인딩

기존 프로세스를 소켓에 바인딩

기존 프로세스를 특정 포트에서 수신 대기하는 소켓에 바인딩하고 여기에 입력을 보내고 싶습니다 nc(Python 대화형 셸, 편집기...). 프로세스에 관계없이 pid를 보내고 파일 설명에 따라 바인딩하면 됩니다. 기호는 다른 포트에 대한 것입니다. 기존 프로세스가 아닌 프로세스 /proc/<pid>/fd/0에 대한 입력을 프로세스에 보내는 데 사용할 수 없습니다( fds단지 터미널에 대한 심볼릭 링크일 뿐입니다).

마지막 진술은 strace -p<pid> -s9999 -e write프로세스의 STDIN 및 STDOUT을 모니터링하는 것이 가능하기 때문에 너무 결정적이어서 사실이 될 수 없습니다(방법은 모릅니다). 그러나 이것은 나중에 살펴볼 내용입니다. 지금부터는 기존 프로세스를 소켓에 바인딩하고 싶습니다. 소켓을 통해 데이터를 보냅니다.

답변1

작업 세트를 사용해 보세요. 작동합니다 taskset -p -c. 이 기사를 참조하세요.작업 세트 예시

If your process is already running, you can define thread affinity while in flight. It also lets you bind specific TIDs to specific processors at a level of granularity greater than specifying -c 0,2,4,6 because Linux may still schedule two threads on core2 and nothing on core0.

관련 정보