파이프를 사용하여 실행중인 프로세스의 표준 입력에 쓰기


8

나는이 게시물 과 비슷한 상황 에 있지만 답변이 해당 질문에만 관련되어있는 것처럼 내 상황에서 작동하도록 솔루션을 제공하지는 않습니다.

특히, 나는의 목적이 무엇인지 이해할 수 없었다

cat my.fifo | nc remotehost.tld 10000

필자의 경우 프로세스를 실행하고 입력을 기다리는 중입니다. 명명 된 파이프를 사용하여 해당 프로세스에 입력을 보내려면 어떻게해야합니까?

echo 'h' > /proc/PID/fd/0프로세스 '창'에 'h'만 표시 하려고 시도 했습니다.

답변:


13

다만이 포함 된 라인을 무시 nc,이 질문의 영업 이익을 통해 네트워크를 통해 데이터를 전송하는 데 사용하고 싶어 nc.

그것은 당신을 떠난다 :

mkfifo yourfifo
cat > yourfifo &
mypid=$!
yourprogram < yourfifo

이제 당신은 프로그램으로 데이터를 보낼 수 있습니다

echo "Hello World" > yourfifo

완료되면 프로그램을 종료하고 명령 kill $mypid을 실행 하여 더미 프로세스를 제거하여 FIFO를 열어 rm yourfifo두고 명명 된 파이프를 제거하십시오.


2
어떻게되는 cat > yourfifo &거야?
Alexander Mills
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.