# Gestion du service

## Avec systemd

Sur les systèmes fonctionnant avec `systemd`, dont RHEL 7, les commandes usuelles de gestions des services peuvent être utilisées.

L’unité `systemd` pour Waarp Gateway est fournie dans les packages sur les systèmes utilisant systemd. Si vous utilisez les archives autonomes, voir ci-dessous la procédure d’ajout du service.

    # Démarrage du service
    systemctl start waarp-gatewayd

    # Arrêt du service
    systemctl stop waarp-gatewayd

    # Statut du service
    systemctl status waarp-gatewayd

    # Redémarrage du service
    systemctl restart waarp-gatewayd

    # Activation du service au démarrage du serveur
    systemctl enable waarp-gatewayd

    # Désactivation du service au démarrage du serveur
    systemctl disable waarp-gatewayd

### Utilisation de systemd avec les archives autonomes

Si votre système d’exploitation utilise systemd, vous pouvez gérer votre instance de Waarp Gateway avec.

Créez le fichier `/etc/systemd/system/waarp-gateway.service` avec le contenu suivant, en remplaçant `/path/to/archive/root` par le chemin vers le dossier d’extraction de l’archive :

    [Unit]
    Description=Waarp Gateway server

    [Service]
    Type=simple
    WorkingDirectory=/path/to/archive/root
    ExecStart=/bin/sh -c 'PATH=./share/:./bin/:$PATH exec ./bin/waarp-gatewayd server -c ./etc/gatewayd.ini'
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target

Pour activer le démarrage automatique de Waarp Gateway au démarrage du serveur, utilisez la commande :

    systemctl enable waarp-gatewayd

## Avec SysVinit

Sur les systèmes fonctionnant avec `SysVinit`, dont RHEL 6, les commandes usuelles de gestions des services peuvent être utilisées.

Le script d’init pour Waarp Gateway est fourni dans les packages sur les systèmes utilisant SysVinit.

    # Démarrage du service
    /etc/init.d/waarp-gatewayd start

    # Arrêt du service
    /etc/init.d/waarp-gatewayd stop

    # Statut du service
    /etc/init.d/waarp-gatewayd status

    # Redémarrage du service
    /etc/init.d/waarp-gatewayd restart

    # Activation du service au démarrage du serveur
    update-rc.d waarp-gatewayd defaults # Systèmes basés sur Debian
    chkconfig --add waarp-gatewayd      # Systèmes basés sur Red Hat

    # Désactivation du service au démarrage du serveur
    update-rc.d -f waarp-gatewayd remove # Systèmes basés sur Debian
    chkconfig --del waarp-gatewayd       # Systèmes basés sur Red Hat

## Avec les archives autonomes

### Linux

Le service se gère avec le script `manage.sh` situé dans le dossier `bin` à la racine du dossier d’extraction de l’archive :

    ./bin/manage.sh <commande>

Les commandes suivantes sont disponibles :

#### Commande `manage.sh start`

Démarre Waarp Gateway.

Note

Si le port choisi est inférieur à 1024, le service doit être lancé avec l’utilisateur root.

Le nombre de CPU utilisés par Waarp Gateway peut être défini par la variable d’environnement `GOMAXPROCS`. Par défaut, le nombre de cœurs CPU du serveur est utilisé.

Codes de retour :

Code | Signification
--- | ---
`0` | Le lancement de l’application a réussi
`1` | Le lancement a échoué. La raison de l’échec peut se trouver un des fichiers de traces.
`2` | Le serveur est déjà lancé

#### Commande `manage.sh stop`

Lance la procédure d’arrêt de Waarp Gateway. Le script attend 2 minutes que Waarp Gateway s’arrête. Passé ce délais, le script rend la main, mais la procédure d’arrêt continue. L’arrêt définitif de Waarp Gateway interviendra dès que tous les processus internes en cours seront terminés. Les codes retours suivants sont possibles :

Codes de retour :

Code | Signification
--- | ---
`0` | L’arrêt de l’application a réussi
`1` | L’arrêt a échoué. La raison de l’échec peut se trouver un des fichiers de traces.
`2` | Le serveur est déjà arrêté
`3` | L’arrêt est en cours, mais la procédure d’arrêt n’est pas encore terminée.

#### Commande `manage.sh restart`

Redémarre Waarp Gateway.

Code | Signification
--- | ---
`0` | Le redémarrage de l’application a réussi
`1` | Le redémarrage a échoué. La raison de l’échec peut se trouver un des fichiers de traces.
`2` | Le serveur est déjà arrêté
`3` | L’arrêt est en cours, mais la procédure d’arrêt n’est pas encore terminée.

#### Commande `manage.sh force-stop`

Envoi un signal KILL à Waarp Gateway

Codes de retour :

Code | Signification
--- | ---
`0` | L’application est démarrée.
`1` | L’application est arrêtée.
`2` | Le fichier contenant l’identifiant du processus n’a pas été trouvé ou ne peut pas être lu. Le statut est inconnu

#### Commande `manage.sh status`

Retourne l’état démarré/arrêté du serveur. Les codes retours suivants sont possibles :

Codes de retour :

Code | Signification
--- | ---
`0` | L’application est démarrée.
`1` | L’application est arrêtée.
`2` | Le fichier contenant l’identifiant du processus n’a pas été trouvé ou ne peut pas être lu. Le statut est inconnu

### Windows

Aucune gestion du service n’est actuellement fourni pour Windows.