{{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