¿Existe alguna manera fácil de comprobar si su tubería con nombre funciona correctamente? Quiero asegurarme de que los datos que estoy enviando desde mi aplicación se estén enviando realmente. ¿Existe una manera rápida y fácil de obtener una lista de todas las tuberías nombradas?¿Cómo puedo obtener una lista de todas las canalizaciones con nombre abierto en Windows?
Respuesta
Puede verlos con Process Explorer de sysinternals. Use la opción "Buscar -> Buscar identificador o DLL ..." e ingrese el patrón "\ Dispositivo \ PirámideNamed". Le mostrará qué procesos tienen qué tubos abiertos.
Usa pipelist.exe de Sysinternals.
Consulte también handle.exe desde sysinternals que mostrará casi todas las cosas que tienen un controlador abierto. – JimR
Manejar http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx –
C#:
String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
Usted ... Absolutley ROCK! – NTDLS
Pruebe lo siguiente en su lugar:
String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
El segundo tubo se interpretan en el presente sitio web cuando se presente ... Se necesitan dos barras invertidas al principio. Así que asegúrese de usar System.IO.Directory.GetFiles (@ "\\. \ Pipe \").
Tenga en cuenta que he visto esta llamada a la función arrojar un 'caracteres ilegales en la ruta'. excepción cuando una de las tuberías en mi máquina tenía caracteres no válidos. PipleList.exe funcionó bien, por lo que parece un error en el código .net de MS.
La nota sobre 'caracteres ilegales en ruta' es un punto importante, porque es muy común que los programas abran nombres de tuberías que desencadenan esto. Cualquier programa que abra un conducto llamado 'C: \ myLocation \ someFile.x' causará este error. – dss539
En la consola de Windows PowerShell, escriba
[System.IO.Directory]::GetFiles("\\.\\pipe\\")
Si la versión del sistema operativo es mayor que la de Windows 7, puede también escribir
get-childitem \\.\pipe\
Es posible que desee considerar la apertura de Powershell como administrador – dotNetE
También puede usar get-childitem \\. \ Pipe \ –
@ChrisGillum Intenté eso, y me salió un error "No encuentro la ruta '\\. \ Pipe \' porque no existe " –
me encontré con una característica de cromo que se enumere todos los conductos con nombre abiertos navegando a "file: //.//pipe//"
Como no puedo encontrar ninguna referencia a thi s y ha sido muy útil para mí, pensé que podría compartir.
¿Puedes explicar un poco más? –
Esto no enumera mis tuberías. ¡Asombroso! (tenga en cuenta que esto funcionará porque funciona como un directorio, como muestra la respuesta de Andrew Shepherd) –
- 1. En Windows, ¿Puedo usar Canalizaciones con nombre como archivos?
- 2. Windows: ¿cómo obtener una lista de todas las ventanas visibles?
- 3. Canalizaciones con nombre: asimetría
- 4. ¿Es posible descubrir canalizaciones con nombre en Windows?
- 5. ¿Cómo puedo obtener una lista de todas las implementaciones de una interfaz mediante programación en Java?
- 6. Obtener una lista de todas las sesiones activas en ASP.NET
- 7. ¿Cómo puedo obtener todas las permutaciones posibles de una lista con Common Lisp?
- 8. ¿Cómo obtener una lista de todas las NSWindow abiertas desde todas las aplicaciones en ejecución?
- 9. Obtener todas las variables env en C \ C++ en Windows
- 10. Obtener una lista de todas las etiquetas únicas en mongodb
- 11. SQL Azure Database Canalizaciones con nombre Error
- 12. Obtener lista de todas las aplicaciones instaladas
- 13. ¿Cómo puedo obtener una lista de todas las variables definidas en Matlab u Octave?
- 14. ¿Cómo puedo obtener una lista de todas las propiedades de un ABRecordRef?
- 15. Canalizaciones con nombre aisladas en sesiones de Terminal Server
- 16. ¿Cómo hacer para que el nombre de la aplicación se muestre en abierto con la lista?
- 17. ¿Cómo se obtiene una lista de todas las fuentes instaladas?
- 18. ¿Puedo hacer una lista de todas las fuentes de eventos registradas?
- 19. ¿Cómo puedo obtener una lista de todas las almohadillas Etherpad-lite
- 20. Usar canalizaciones con nombre de manera asíncrona con StreamWriter
- 21. Ruby Rspec. Obtener la lista de todas las pruebas
- 22. ¿Cómo obtener todas las palabras de una cadena en C#?
- 23. Ejemplo de uso de canalizaciones con nombre en Linux Bash
- 24. Plugin de Chrome: Accediendo a canalizaciones nombradas en Windows
- 25. Canalizaciones con nombre de Win32 y clientes remotos
- 26. ¿Cómo puedo llamar a un método WCF desde C++ utilizando canalizaciones con nombre?
- 27. ¿Cómo puedo obtener todas las letras alpabéticas en PHP?
- 28. android dexclassloader obtener la lista de todas las clases
- 29. ¿Cómo puedo hacer una lista de todas las cookies para la página actual con Javascript?
- 30. MongoDB: ¿Obtener la lista de todas las bases de datos?
Compruebe qué versión de Process Explorer tiene antes de intentar esto. No funciona en v15.23, pero funciona en v16.02. (no he probado otras versiones) – Carl
Para evitar posibles excepciones, como se menciona en otras respuestas, puede usar mi solución, que es de un nivel más bajo pero que funciona como un amuleto, aunque el nombre del nombre contenga caracteres no válidos en forma de nombre de archivo. Por favor, consulte http://stackoverflow.com/questions/25109491/how-can-i-get-a-list-of-all-open-named-pipes-in-windows-and-avoiding-possible-ex/25126943# 25126943 – user2126375
Usar 'pipelist.exe' de SysInternals es incluso más simple, pero solo es una línea de comando. –