Java proceso de control es muy mala – principalmente debido a la falta de apoyo por parte de la máquina virtual de Java/JDK clases (por ejemplo, java.lang.Proceso).

Me pregunto, ¿hay alguna buena bibliotecas de código abierto por ahí que son fiables.

Los requisitos sería:

  1. OSS
  2. Iniciar/Detener los procesos de
  3. Administrar STDIN y STDOUT
  4. la plataforma de la cruz (al menos en Linux,
    Windows, Solaris, HP, IBM y en
    ese orden)
  5. (opcional) reiniciables
  6. (deseable) maduro
  • Me gustaría añadir un proceso de dependencia de la noción, como un requisito: Un proceso/servicio sólo debe iniciarse si su dependiente proceso/servicio se ha iniciado. Si un proceso/servicio se detiene, todos sus procesos dependientes/servicios se detiene.
  • Ahora es el año 2015. Me pregunto si algo ha cambiado y la respuesta a esta pregunta ahora sería diferente.

3 Comentarios

  1. 3

    El Java Service Wrapper podría ser lo que usted está buscando. Es multiplataforma, puede ser usado para iniciar cosas como un servicio de Windows, captura de IO, y en general administrar completamente cualquier aplicación java. Es muy ligero de peso y bien diseñado. Atlassian utiliza para envolver sus productos (Jira, Bambú, etc), por lo que es probado.

    • para la gestión de servicios, está bien. pero es apenas una biblioteca que puede ser utilizado para un fácil control del proceso. además, no es muy OSS.
    • JSW tiene un muy buen control de procesos de la biblioteca (wrapper.tanukisoftware.com/doc/english/child-exec.html), el problema es que no SOS.
  2. 3

    Uno más requisito… de la cruz de la plataforma de apoyo para la matanza de un proceso huérfano. Con java.lang.Process (y Apache Commons Exec), no hay manera de matar los procesos externos cuando la aplicación Java se hace un hard stop (kill -9). Realmente me gustaría encontrar una biblioteca que puede manejar mejor el problema.

    Una solución puede ser la tienda de PIDs en algunos de los recursos en el disco y, a continuación, eliminar los procesos en el reinicio de la aplicación Java. Por supuesto, esto sería dependiente de la plataforma, por lo que una buena plataforma de la cruz de la biblioteca sería fantástico.

Dejar respuesta

Please enter your comment!
Please enter your name here