Pregunta

En Java o por medio de algún plugin de Eclipse, es posible encontrar un proceso por el nombre de sin de descender a código nativo? En concreto, quiero determinar si un navegador web está en marcha y que el usuario sepa que puede que tenga que reiniciar el navegador.

Sé código nativo es siempre una opción, pero quiero evitar la creación de otra biblioteca JNI si puedo evitarlo.

¿Fue útil?

Solución

En realidad es una pregunta duplicado, consulte la origin .

Existen dos opciones aquí, uno es ejecutar la herramienta de línea de comandos que mostrará una lista de los procesos en ejecución y analizar su producción. Como se ha mencionado por Jay en un Linux puede utilizar "PS", en Windows que se necesita para atar alguna herramienta, ya sea un puerto de PS de GNUWin / cygwin / etc o una herramienta similar a la nativa PsList , o buscar en el muestra .

La segunda opción, que ya conoce es utilizar JNI, sin embargo, no es necesario escribir el código desde cero, puede considerar JNIWrapper . Proporciona un fácil de utilizar Java API para funciones del sistema operativo nativo comunes. También proporcionan licencias libres para los proyectos de código abierto.

Otros consejos

No sé alguna manera de obtener una lista de los procesos que se ejecutan directamente desde Java. Si estás en Linux, se puede crear un proceso que se ejecuta "ps", leer InputStream del Proceso para interceptar los resultados, y analizarlo. Usted no necesita ir hasta el nivel de JNI para hacer eso:. Puede ejecutar un comando shell con el Proceso

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top