[LINUX] Notez que le processus reste même après la déconnexion avec SSH

introduction

Ceci est un mémo sur la façon de conserver le processus après la déconnexion lors de la connexion avec SSH. En gros, vous pouvez faire ce que vous voulez.

$contenu de la commande nohup> out.log &

Exemple

$ nohup echo "very very heavy task" > out.log &

Cela crée un fichier ʻout.log` dans le répertoire du calendrier et enregistre la sortie.

out.log


very very heavy task

Fonctionnalisation

Le principal est d'ici. La commande précédente est un peu longue, alors enregistrez-la en tant que fonction.

Le shell que j'utilise est zsh, alors ajoutez ce qui suit à ~ / .zshrc. Pour bash, ajoutez-le à ~ / .bashrc.

.zshrc


background () {
    nohup ${@:1} > out.log &
}

Enregistrez le contenu et appliquez vos modifications.

$ source ~/.zshrc

Vous pouvez maintenant l'exécuter en arrière-plan en préfixant simplement le processus que vous souhaitez exécuter avec background.

$ background echo "very very heavy task"

Peu importe le nombre d'arguments que vous avez.

$ background python takes_many_args.py foo bar --arg3 1234 --arg4 abcd

Recommended Posts

Notez que le processus reste même après la déconnexion avec SSH
Problème que même si Pool.close () est fait avec le multitraitement de Python, le processus reste en pause et la mémoire augmente régulièrement.
Tuez le processus avec sudo kill -9