L'exigence d'exécuter périodiquement une commande ou un processus sous Linux est assez courante. Des scripts de nettoyage aux commandes de suppression de fichiers en double, en passant par les mises à niveau périodiques automatisées, tout peut être configuré pour s'exécuter périodiquement sous Linux.
Habituellement, la façon d'y parvenir est de configurer Cron tâches, qui sont pratiques lorsqu'il s'agit de scripts d'automatisation et de tâches d'arrière-plan. Cependant, si vous devez exécuter périodiquement une commande ou un programme et afficher sa sortie de manière interactive, c'est-à-dire en (presque) temps réel ; Cron ne peut pas être utilisé, car il enregistre toutes les sorties dans des fichiers journaux.
Aujourd'hui, nous allons apprendre la commande watch qui nous permet d'exécuter périodiquement une commande ou un programme et d'afficher la sortie en temps réel.
La syntaxe de base pour utiliser la commande watch est :
$ watch command_name
Cela exécutera la commande ‘nom_commande’ toutes les 2 secondes, qui est la période de temps par défaut.
$ watch ps -ef
La commande ci-dessus appellera ‘ps -ef’ (utilisé pour afficher les processus en cours d'exécution et leur utilisation des ressources) toutes les 2 secondes, afin que nous puissions voir l'utilisation des ressources mise à jour régulièrement.
Exécutez une commande Linux toutes les minutes
Pour spécifier l'intervalle de temps pour une exécution périodique, utilisez le -n
option.
$ watch -n time_interval_in_seconds command
Par exemple, pour exécuter une commande ou un programme Linux toutes les minutes, utilisez la commande suivante.
$ watch -n 60 ps -ef
Cela exécutera évidemment le ‘ps -ef’ commande toutes les 1 minute.
Une autre option intéressante est l'argument -d
, qui mettra en évidence la différence dans la sortie après chaque exécution périodique de la commande. Par exemple, exécutons la commande ps encore une fois, cette fois, triez la sortie par ordre décroissant d'utilisation de la mémoire, afin que nous puissions voir facilement la différence mise en évidence.
$ watch -d -n 5 ps aux --sort -%mem
Comme vu ci-dessus, il a mis en évidence les valeurs qui ont changé dans l'exécution actuelle de la commande ps . Notez que cela ne mettra en évidence que la différence entre les deux exécutions immédiates, et non dans toutes les exécutions.
Conclusion
Nous avons vu comment la simple utilisation de la commande watch nous a permis d'exécuter périodiquement des programmes sous Linux. La commande regarder a plus d'options disponibles pour vraiment aider l'utilisateur à personnaliser ses exécutions périodiques. Assurez-vous de les consulter sur la page de manuel.
$ man watch
Merci d'avoir lu et faites-nous savoir quels programmes vous avez utilisés ou utiliserez avec Watch pour afficher la sortie en temps réel !