따라서 3가지 명령을 사용하여 파이프라인을 만들어야 합니다.
- 프로그램은 다음과 같이 작성됩니다.씨무한 루프로 텍스트 인쇄 - 컴파일 후 호출됨
a.out
- 그것은 다음과 같은 무엇이든 될 수 있습니다
xcalc
- 위에서 언급한 바와 같이, 예를 들면 다음과 같습니다.
xclock
그래서 내 질문은 이 세 가지로 파이프를 만든 다음 명령을 사용하여 lsof
열린 파이프에 대한 정보를 얻으려면 어떻게 해야 합니까?
나는 다음과 같은 것을 시도했습니다 :
mknod pipe1 p ./a.out | xclock | xcalc
하지만 제대로 작동하지 않습니다. 원하는 정보를 얻으려면
어떤 매개변수를 사용해야 합니까 ? lsof
(존재하다솔라리스이것은 pfiles -F
).
답변1
파이프와 마찬가지로 물리적 파이프에는 두 개의 열린 끝(즉, 물이 흐르는 쪽)이 있어야 합니다.존재하다, 그리고 물이 흐르는 쪽나가), 존재하다*닉스파이프에는 입력을 받는 프로그램의 입력이 필요합니다 /dev/stdin
(예:표준 입력), 그리고 출력을 /dev/stdout
, (예:표준 출력) 또는 (더 일반적으로) 둘 다 수행합니다. 이러한 작업을 수행하도록 설계된 프로그램은 다음과 같이 동작합니다.플러그또는 파이프에 플러그를 꽂아 (데이터)의 흐름을 방해합니다.
OP에 사용된 세 가지 프로그램( mknod
, xclock
및 )은 모두 xcalc
사용하지 마십시오.표준 입력또는표준 출력그럴 만큼 중요하다.*닉스동등하다플러그. 그것들을 함께 배관하는 것은 아이다호 감자 세 개를 두 길이의 PVC 파이프로 연결하는 것보다 더 유용하지 않습니다.