Instalar la Aplicación para Iniciar en cada Reinicio (Solaris) DRAFT

Crear un Vínculo Simbólico en "/etc/init.d"

El primer paso es configurar la aplicación para que el apagado sea limpio cuando el sistema se apague. La ejecución debe ser en el orden correcto cuando el sistema reinice, esto es para crear un Vínculo Simbólico en el directorio /etc/init.d. Muchas aplicaciones simplemente copian el Archivo de Comandos del Demonio al directorio. El Archivo de Comandos del Wrapper requieren que un Vínculo Simbólico sea usado. De esta manera la ubicación del resto de los archivos de las aplicaciones podrán ser localizadas sin modificación alguna en el archivo de comandos.

Para crear un Vínculo Simbólico en el directorio /etc/init.d, es necesario ser "usuario raíz." Simplemente introduzca la siguiente secuencia de comandos:

ln -s /usr/lib/myapp/bin/myapp /etc/init.d/myapp

Verifique que el Vínculo Simbólico este trabajando correctamente y cambie el directorio actual a /etc/init.d ejecutando el siguiente comando.

./myapp console

Asegúrese de hacer la ejecución como usuario raíz ya que al ejecutar la aplicación lo requerirá cuando el sistema inicie. Es muy común que haya diferencias en el entorno entre usuario raíz y un usuario como cuando normalmente entra en sesión. Dichas diferencias pueden causar problemas por ejemplo cuando no se puede localizar la JVM.

La aplicación debería ejecutarse de una manera normal. Presione CTRL-C para detener la aplicación.

Registrando Niveles de Ejecución

Usted quiere que su aplicación inicie en todos los niveles de ejecución multiusuario y se detenga al experimentar una interrumpción, en modo de usuario único y al reiniciar la ejecución de niveles. Esto es posible al cambiar el directorio actual a /etc/init.d y al ejecutar el comando update-rc.d como usuario raíz:

ln -s /etc/init.d/myapp /etc/rc0.d/K20myapp
ln -s /etc/init.d/myapp /etc/rc1.d/K20myapp
ln -s /etc/init.d/myapp /etc/rc2.d/S20myapp
ln -s /etc/init.d/myapp /etc/rc3.d/S20myapp

El entorno durante el reinicio es disperso, como resultado algunas referencias que hagan uso de una ruta de acceso o un entorno de variables podría no tener éxito. Como precaución cuando trate de reiniciar para probar su instalación se le sugiere configurar la siguiente propiedad de wrapper.logfile.loglevel a DEBUG.

Ahora puede reiniciar su sistema para probar la instalación:

shutdown -r now

Cuando el sistema empiece la ejecución de nuevo, tendría que hacerlo de forma normal.

¿Experimentando Problemas?

Si por alguna razón experimenta algún problema, por favor revisar el archivo de registros.. Lo más probable es que la respuesta la pueda encontrar ahí. Si la prueba en la sección anterior funcionaba pero falló, el problema podría estar relacionado con la ausencia de variables de entorno.

Controlando el Orden:

Si su aplicación hace uso de otros servicios por ejemplo MySQL, necesitará asegurarse que la aplicación es ejecutada después de MySQL y que es apagada antes que MySQL respectivamente. Esto es hecho al controlar la orden de inicio/apagado. Por defecto, MySQL inicia y se detiene con una orden de 20. De esta manera se obtiene el resultado deseado. Al hacer uso del orden de inicio en 21 y el apagado en el orden 19.

ln -s /etc/init.d/myapp /etc/rc0.d/K19myapp
ln -s /etc/init.d/myapp /etc/rc1.d/K19myapp
ln -s /etc/init.d/myapp /etc/rc2.d/S21myapp
ln -s /etc/init.d/myapp /etc/rc3.d/S21myapp

Anulación de los registros de Niveles de Ejecución

Para anular los niveles de ejecución registrados en la sección anterior haga uso de los siguientes comandos. Tal vez sea necesario modificar el orden de los comandos para que sean compatibles con aquellos que se esten usando al crear los Vínculos Simbólicos.

rm /etc/rc0.d/K20myapp
rm /etc/rc1.d/K20myapp
rm /etc/rc2.d/S20myapp
rm /etc/rc3.d/S20myapp

Referencia: Iniciar su Aplicación con el Wrapper