Maison > Java > javaDidacticiel > le corps du texte

Comment exécuter des applications Java en tant que services sous Linux ?

DDD
Libérer: 2024-11-01 23:07:29
original
159 Les gens l'ont consulté

How do I run Java applications as services on Linux?

Exécuter des applications Java en tant que services sous Linux

Pour garantir un fonctionnement continu et une gestion aisée des applications serveur Java sous Linux, il est souvent souhaitable de exécutez-les en tant que services. Ce guide explore une solution qui répond à ces exigences.

Le besoin de services

Dans un environnement Linux hébergé virtuel, les applications Java peuvent être démarrées manuellement ou via des scripts tels que rc.local, mais cette approche manque de la flexibilité et du contrôle requis pour une maintenance transparente. Pour gérer les applications indépendamment des redémarrages du serveur, envisagez de les exécuter en tant que services.

Création d'un script de service

Pour créer un script de service, procédez comme suit :

#!/bin/sh
SERVICE_NAME=your_service_name
PATH_TO_JAR=full_path_to_jar_file
PID_PATH_NAME=/tmp/your_service_name-pid
case  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 
Copier après la connexion

Installation

  1. Enregistrez le script ci-dessus sous forme de fichier avec une extension ".sh" (par exemple, "myservice.sh").
  2. Rendez le script exécutable : chmod x myservice.sh.
  3. Copiez le script dans le répertoire approprié (par exemple, /etc/init.d ou /lib/systemd/system).

Utilisation

Pour gérer le service, utilisez les commandes suivantes :

  • Démarrer : /etc/init.d/myservice start ou systemctl start myservice
  • Arrêter : /etc/init.d/myservice stop ou systemctl stop myservice
  • Redémarrer : /etc/init.d/myservice restart ou systemctl restart myservice

Conclusion

Ce guide fournit une solution complète pour exécuter des applications Java en tant que services sur Linux, offrant le contrôle et la flexibilité requis pour une gestion et une maintenance efficaces.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!