"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo ejecuto las aplicaciones Java como servicios en Linux?

¿Cómo ejecuto las aplicaciones Java como servicios en Linux?

Publicado el 2025-03-23
Navegar:164

How do I run Java applications as services on Linux?

ejecutando aplicaciones java como servicios en linux

para garantizar una operación continua y una gestión fácil de aplicaciones de servidor Java en Linux, a menudo es deseable ejecutarlas como servicios. Esta guía explora una solución que aborde estos requisitos.

La necesidad de servicios

en un entorno de Linux alojado virtual, las aplicaciones Java pueden iniciarse manualmente o mediante scripts como rc.local , pero este enfoque carece de la flexibilidad y control para el mantenimiento sin problemas. Para administrar aplicaciones independientes del servidor se reinicia, considere ejecutarlas como servicios.

creando un script de servicio

para crear un script de servicio, siga estos pasos:

#!/bin/sh
SERVICE_NAME=your_service_name
PATH_TO_JAR=full_path_to_jar_file
PID_PATH_NAME=/tmp/your_service_name-pid
case $1 in
    start)
        echo "Starting $SERVICE_NAME ..."

        # Check if service is already running
        if [ ! -f $PID_PATH_NAME ]; then

            # Execute Java command in the background (daemonize)
            nohup java -jar $PATH_TO_JAR > /tmp/service_name.log 2>&1 &

            # Store PID to track process
            echo $! > $PID_PATH_NAME
            echo "$SERVICE_NAME started ..."
        else
            echo "$SERVICE_NAME is already running ..."
        fi
    ;;
    stop)
        # Check if PID file exists to ensure service is running
        if [ -f $PID_PATH_NAME ]; then
            PID=$(cat $PID_PATH_NAME)
            echo "$SERVICE_NAME stopping ..."

            # Kill process
            kill $PID
            echo "$SERVICE_NAME stopped ..."

            # Remove PID file
            rm $PID_PATH_NAME
        else
            echo "$SERVICE_NAME is not running ..."
        fi
    ;;
    restart)
        # Stop service
        if [ -f $PID_PATH_NAME ]; then
            PID=$(cat $PID_PATH_NAME)
            echo "$SERVICE_NAME stopping ..."
            kill $PID
            echo "$SERVICE_NAME stopped ..."
            rm $PID_PATH_NAME
        else
            echo "$SERVICE_NAME is not running ..."
        fi

        # Start service
        echo "$SERVICE_NAME starting ..."
        nohup java -jar $PATH_TO_JAR > /tmp/service_name.log 2>&1 &
        echo $! > $PID_PATH_NAME
        echo "$SERVICE_NAME started ..."
    ;;
esac 

instalación

  1. Guardar el script de arriba como un archivo con una extensión ".sh" (e.g., "myservice.sh").
  2. : haga que el script sea ejecutable: chmod x myservice.sh. (E.G., /etc/init.d o /lib/systemd/system).che &&&&font> aherEd myservice
  3. stop: /etc/init.d/myservice o systemctl stop myService
rein Solución integral para ejecutar aplicaciones Java como servicios en Linux, ofreciendo el control y la flexibilidad requeridos para la gestión y el mantenimiento eficientes.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3