una pasar para moviles hacer desarrollo creacion convertir con como celular aplicaciones aplicacion java service daemon sysv

java - pasar - creacion de aplicaciones moviles en netbeans



Cómo convertir una aplicación Java existente a un servicio SYS V(daemon) (2)

Echa un vistazo a Apache Commons Daemon .

Tiene el iniciador ''jsvc'' que admite el inicio y la detención de daemons basados ​​en Java (servicios).

Esta pregunta ya tiene una respuesta aquí:

Tengo una aplicación Java, para iniciarlo uso

java -jar myapp.jar

Para detenerlo, uso CTRL + C.

Ahora necesito convertir esa aplicación a algo con lo que pueda comenzar:

/etc/init.d/myapp start

Y puedo parar con:

/etc/init.d/myapp stop

El problema se trata de guardar el PID del proceso, creo que vi en alguna parte una receta para hacer esto, no recuerdo dónde y no puedo encontrarlo.

Vi que hay un proyecto llamado Java Server Wrapper , pero busco algo gratuito que no limite el uso de la memoria. Y creo que este trabajo podría hacerse en un único script bash.


En primer lugar, guardar el PID en * nix:

$ ./yourprogram & $ echo $! > /var/run/yourpid

yourpid ahora contendrá el PID de su pgrama, y ​​/ var / run es el lugar adecuado para ponerlo.

Lo anterior se puede poner en su script de "inicio". El script "detener" puede mirar a yourpid para saber qué matar.

Si quieres ser más elegante y detener tu aplicación correctamente, puedes consultar el código fuente de org.apache.catalina.startup.Catalina.java de Tomcat sobre cómo implementar los ganchos de apagado adecuados.

En segundo lugar, las secuencias de comandos anteriores "stop" y "start" se pueden poner en /etc/init.d/mystopstartscript:

#!/bin/bash # processname: yourprogram # pidfile: /var/run/yourpid case $1 in start) sh /some/where/start.sh ;; stop) sh /some/where/stop.sh ;; restart) sh /some/where/stop.sh sh /some/where/start.sh ;; esac exit 0

Esta es una solución bastante local, con ideas tomadas principalmente del buen Tomcat, pero espero que ayude :)