¿Cómo elimino un proceso en Erlang sabiendo solo el nombre del módulo utilizado para iniciarlo?¿Cómo elimino un proceso en Erlang sabiendo solo el nombre del módulo utilizado para iniciarlo?
Respuesta
No hay forma de hacerlo.
Su mejor opción es especular basándose en el nombre registrado y/o la llamada inicial de sus procesos.
en caso de que alguien que está buscando la API para obtener pid por nombre registrado, invoque 'whereis (NombreRegistrado)' –
Si se trata de depuración simple, puede ejecutar pman: start(), y simplemente busque el proceso (haga doble clic en una entrada para ver detalles como la llamada inicial). Luego puedes matarlo directamente de pman.
De lo contrario, podría usar erlang: processes() para enumerar todos los procesos en el sistema (horrible, lo sé), y ejecutar erlang: process_info (Pid, initial_call) en cada uno de ellos para encontrar el proceso correcto. Una vez que hayas hecho eso, solo usa exit (Pid, kill).
Aún puede encontrar el proceso por otros medios, incluso si no está registrado. Por ejemplo, podría echar un vistazo con un monitor de proceso como pman (pman: start()) y ver si lo encuentra allí. pman le permite filtrar por muchos criterios, lo que podría llevarlo al proceso correcto. O puede iniciar el depurador, instalar un punto de interrupción en el módulo y la próxima vez que el proceso haga algo, se interrumpirá, el depurador mostrará una ventana y en la barra de título podrá leer el PID del proceso que fue interrumpido.
Una vez que tenga el PID, puede usar pid (A, B, C). forjar un objeto PID en el shell desde él y usarlo para matar el proceso.
- 1. ¿Crees un objeto sabiendo solo el nombre de la clase?
- 2. ¿Cómo puedo instanciar un objeto sabiendo solo su nombre?
- 3. ¿Cómo obtener el ID del proceso del nombre del proceso?
- 4. iniciar la aplicación sabiendo el nombre del paquete
- 5. ¿Cómo se instala un módulo en erlang?
- 6. Erlang. Forma correcta para detener el proceso
- 7. ¿Cómo obtener el PID de un proceso dando el nombre del proceso en Mac OS X?
- 8. Consulta un proceso de Erlang para su estado?
- 9. Dado el nombre de un paquete de Python, ¿cuál es el nombre del módulo para importar?
- 10. Erlang: módulo atributo
- 11. ¿Cómo cambio el nombre del proceso de una máquina virtual de Erlang?
- 12. de error cuando Erlang lanzando un proceso
- 13. Cliente PostgreSQL - ¿Cómo iniciarlo?
- 14. ¿Cómo elimino un archivo de solo lectura?
- 15. ¿Cambiar el nombre del proceso en C#?
- 16. Cambiar el nombre del proceso en Linux
- 17. obtener el nombre del proceso desde el proceso id (win32)
- 18. ¿Cómo se hace el módulo o el resto en Erlang?
- 19. Módulo Python más utilizado para el procesamiento de video?
- 20. Emacs: ¿puedo cambiar el nombre de un proceso iniciado?
- 21. Nombre del módulo dinámico
- 22. ¿La función de Erlang no existe en el módulo?
- 23. FileStream: utilizado por otro error de proceso
- 24. ¿Cómo obtener el nombre del módulo actual en Haskell
- 25. Cómo obtener el nombre del proceso en C++
- 26. ¿Cómo obtener solo el nombre del archivo en el preprocesador?
- 27. ¿Cómo obtener el nombre actual del proceso en Linux?
- 28. nombre del módulo ambiguo 'Preludio'
- 29. Win32API - ¿Cómo obtener el nombre de archivo del proceso desde el control del proceso?
- 30. Cómo importar el módulo cuando el nombre del módulo tiene un guión '-' o un guión en él?
Si el módulo conocido ha iniciado muchos procesos, ¿cómo sabe cuál quiere eliminar? – Paralife