GNU/Linux >> Tutoriels Linux >  >> Linux

Exécuter un processus persistant via ssh

Si vous vous connectez en SSH à une distribution Linux qui a systemd, vous pouvez utiliser systemd-run pour lancer un processus en arrière-plan (dans les termes de systemd, "un service transitoire"). Par exemple, supposons que vous souhaitiez envoyer un ping à quelque chose en arrière-plan :

systemd-run --unit=pinger ping 10.8.178.3

L'avantage que vous obtiendrez avec systemd par rapport à la simple exécution d'un processus avec nohup est que systemd suivra le processus et ses enfants, conservera des journaux, se souviendra du code de sortie et vous permettra de tuer proprement le processus et tous ses enfants. Exemples :

Voir le statut et les dernières lignes de sortie :

systemctl status pinger

Diffusez la sortie :

journalctl -xfu pinger

Tuer :

systemctl kill pinger

Comme alternative à nohup , vous pouvez exécuter votre application distante dans un multiplexeur de terminal, tel que GNU screen ou tmux .

L'utilisation de ces outils facilite la reconnexion à une session à partir d'un autre hôte, ce qui signifie que vous pouvez lancer une longue construction ou télécharger avant de quitter le travail et vérifier son statut lorsque vous rentrez chez vous. Par exemple. Je trouve cela particulièrement utile lorsque je fais du travail de développement sur des serveurs très éloignés (dans un pays différent) avec une connectivité peu fiable entre moi et eux, si la connexion tombe, je peux simplement me reconnecter et continuer sans perdre aucun état.


Linux
  1. Ssh - Comment exécuter un script immédiatement après la connexion via Ssh ?

  2. Rediriger une sortie d'un sous-shell vers un processus ?

  3. Comment Scp Via Une Machine Intermédiaire ??

  4. Impossible d'exécuter des applications X via SSH sous Linux

  5. Exécuter le script php en tant que processus démon

Comment exécuter des conteneurs en tant que service Systemd avec Podman

Exécuter des commandes sur des systèmes Linux distants via SSH

Désencombrer la gestion des processus avec ps ou systemd

Comment SSH au serveur via Linux

Comment quitter SSH de vagabond dans le terminal

Fichiers Rsync via un hôte intermédiaire