web-dev-qa-db-ja.com

Windowsで開いているすべての名前付きパイプのリストを取得するにはどうすればよいですか?

名前付きパイプが正しく機能しているかどうかをテストする簡単な方法はありますか?アプリから送信するデータが実際に送信されていることを確認したい。すべての名前付きパイプのリストをすばやく簡単に取得する方法はありますか?

77
Doug T.

これらは、sysinternalsの Process Explorer で表示できます。 [検索->ハンドルまたはDLLの検索...]オプションを使用して、パターン "\ Device\NamedPipe \"を入力します。どのプロセスがどのパイプを開いているかを表示します。

83
Rob Walker

Windows Powershellコンソールで、次のように入力します。

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

get-childitem \\.\pipe\
57
Andrew Shepherd

代わりに次を試してください。

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

Sysinternalsの pipelist.exe を使用します。

41
Jay

C#:

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

Chromeの機能を見つけました

私はこれへの参照を見つけることができないようであり、私にとって非常に役立っているので、私は共有するかもしれないと思いました。

12
Daynew

2番目のパイプは、送信時にこのWebサイトによって解釈されました...最初に2つのバックスラッシュが必要です。そのため、必ずSystem.IO.Directory.GetFiles(@ "\\。\ pipe \")を使用してください。

この関数呼び出しが「パスに不正な文字」をスローするのを見たことがあることに注意してください。マシン上のパイプの1つに無効な文字が含まれていた場合の例外。 PipleList.exeは問題なく動作したため、MSの.netコードのバグのようです。

7
Vincent Lidou