{{tag>commande lock timeout indispensable reptyr watch commandes_utiles}}
====== Commandes linux qui sauvent la vie ======
Voici un petit tas de commandes qui sauvent la vie :
===== Lancer une commande avec un timeout =====
La commande //timeout// existe :timeout 10 sleep 11
Pour l'installer si vous ne l'avez pas : # apt-get install coreutils
Référence : http://www.commandlinefu.com/commands/view/3592/execute-a-command-with-a-timeout
===== Lancer une commande en créant un fichier de lock =====
Pour lancer une commande sans risquer qu'une autre exécution se fasse en parallèle (cas d'un cron régulier qui mettrait trop de temps a s'exécuter par exemple) :/usr/bin/setlock -n /var/lock/mon_lock.lock /chemin/vers/mon/script.sh
Pour l'installer si vous ne l'avez pas : # apt-get install daemontools
===== Attacher un processus existant a un nouveau terminal =====
Vous avez deja lancé un processus très long en SSH alors que vous devez partir mais vous n'avez pas envie d'interrompre ce processus ?
Démarrez juste un screen (encore une autre commande indispensable ;) ), et utilisez [[https://github.com/nelhage/reptyr|reptyr]] pour attacher ce processus existant dans votre screen. Vous pouvez alors quitter le SSH et rentrer chez vous.
Pour l'installer si vous ne l'avez pas : # apt-get install reptyr
Référence : http://blog.nelhage.com/2011/01/reptyr-attach-a-running-process-to-a-new-terminal/
===== Lancer une commande plein de fois de suite en espérant voir un changement =====
Vous êtes adepte de lancer une commande 15 000 fois en faisant "flèche du haut" et "entrée" et recommencer jusqu’à espérer voir un changement dans le résultat ?
Vous ne connaissez alors certainement pas l'outil watch : "watch macommande %%--%%mes-arguments" permet de lancer toutes les X secondes (par défaut 2) votre commande "macommande %%--%%mes-arguments". Le résultat de la commande reste affiché a l'écran jusqu'au prochain lancement de votre commande.
Très utile pour par exemple surveiller la synchronisation de votre serveur NTP après (re)démarrage : # watch ntpq -p -n