Détacher une commande avec nohup.

Plop les bovins,

Je ne suis pas un grand gourou du terminal sous GNU/Linux mais je l’utilise quand même assez régulièrement pour lancer certaines applications ou de petits scripts Shell/Bash.

Il y a une commande que je ne connaissait pas et qui m’aurait été bien utile une paire de fois, la commande « nohup« .

Cette commande peut s’avérer utile quand vous lancez une application en ligne de commande, car il peut arriver que vous fermiez par erreur le terminal ou que le timeout de connexion tombe alors que vous étiez connectés à distance sur votre shell. Pour utiliser nohup et éviter ça, rien de plus simple.

$ nohup mon_application &

Le signe & sert ici à reprendre la main sur le terminal afin de pouvoir entrer d’autres commandes. 

Par contre la commande nohup va avoir pour effet de générer un fichier « nohup.out », ce qui peut être génant dans certains cas. Un programme lancé via un script peut vite générer un fichier de sortie très lourd.  Pour éviter ceci on peut faire tomber ce flux de données dans « /dev/null », une sorte de « poubelle » dont rien ne ressort.

On entrera donc notre commande de cette manière :

$ nohup mon_application &>/dev/null &

Voila, ce n’est pas grand chose mais ça peut toujours servir aux noobs dans mon genre :)

Pour en savoir plus sur nohup.

[source] Moo !!!