Programing

Windows에서 열려있는 모든 명명 된 파이프 목록을 얻으려면 어떻게해야합니까?

crosscheck 2020. 10. 11. 09:07
반응형

Windows에서 열려있는 모든 명명 된 파이프 목록을 얻으려면 어떻게해야합니까?


명명 된 파이프가 올바르게 작동하는지 테스트하는 쉬운 방법이 있습니까? 내 앱에서 보내는 데이터가 실제로 전송되고 있는지 확인하고 싶습니다. 모든 명명 된 파이프 목록을 얻는 빠르고 쉬운 방법이 있습니까?


sysinternals에서 Process Explorer를 사용 하여이를 볼 수 있습니다 . "찾기-> 핸들 또는 DLL 찾기 ..."옵션을 사용하고 "\ Device \ NamedPipe \"패턴을 입력합니다. 어떤 프로세스가 어떤 파이프가 열려 있는지 보여줍니다.


대신 다음을 시도하십시오.

String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");

Windows Powershell 콘솔에서 다음을 입력합니다.

[System.IO.Directory]::GetFiles("\\.\\pipe\\")


OS 버전이 Windows 7보다 높은 경우 다음을 입력 할 수도 있습니다.

get-childitem \\.\pipe\

Sysinternals의 pipelist.exe사용하십시오 .


씨#:

String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");

"file : //.//pipe//"로 이동하여 열려있는 모든 명명 된 파이프를 나열하는 기능을 발견했습니다.

이것에 대한 언급을 찾을 수없는 것 같고 나에게 매우 도움이 되었기 때문에 공유 할 수 있다고 생각했습니다.


두 번째 파이프는 제출시이 웹 사이트에서 해석되었습니다. 처음에 두 개의 백 슬래시가 필요합니다. 따라서 System.IO.Directory.GetFiles (@ "\\. \ pipe \")를 사용해야합니다.

이 함수 호출이 '경로에 잘못된 문자'를 던지는 것을 보았습니다. 내 컴퓨터의 파이프 중 하나에 잘못된 문자가있는 경우 예외입니다. PipleList.exe는 정상적으로 작동하므로 MS의 .net 코드의 버그처럼 보입니다.

참고 URL : https://stackoverflow.com/questions/258701/how-can-i-get-a-list-of-all-open-named-pipes-in-windows

반응형