Comment puis-je écrire un script shell qui affiche les résultats en temps réel?
Quelque chose comme la top
commande qui met à jour les résultats après quelques intervalles de temps fixes.
Comment puis-je écrire un script shell qui affiche les résultats en temps réel?
Quelque chose comme la top
commande qui met à jour les résultats après quelques intervalles de temps fixes.
curses
interface ... mais je pense que c'est plus une question de programmation et appartient à SORéponses:
Il serait utile que vous soyez beaucoup plus précis sur ce que vous essayez de faire.
Voici un exemple extrêmement simpliste:
la source
vous pouvez utiliser la commande watch (1) pour exécuter votre script à intervalles réguliers:
Cela s'exécutera
myscript.sh
toutes les 1 secondes en effaçant l'écran entre chaque exécution et avec un horodatage dans le coin. Vous pouvez utiliser l'-d
option et elle mettra même en évidence les différences de sortie par cycle.la source
watch
. Pourriez-vous être plus précis? Quel OS?La plupart de ces données sont généralement exposées dans les primitives du système de fichiers virtuel / proc. Chaque processus a une entrée dans / proc dans un répertoire appelé PID. Donc / proc / 5437 aurait les primitives pour le processus 5437. En lisant les primitives et en analysant correctement, vous vous rapprochez de ce que fait le haut.
Top fonctionne en fait en appelant des appels de fonctions spécifiques qui extraient ces informations directement du noyau au lieu de les extraire des fichiers. Pour faire la même chose depuis bash, vous devez soit l'extraire du système de fichiers virtuel / proc, soit l'extraire d'autres appels tels que to
ps
.Quant au temps réel, ce n'est pas tout à fait faisable au niveau des détails fournis par top. Vous pouvez découper le temps suffisamment fin pour qu'il semble être en temps réel, mais vous obtiendrez toujours des tranches de temps.
la source
Euh, au cas où vous regardez la
top
sortie pendant plus longtemps, et pas seulement pour vérifier si un programme fonctionne bien, je suggère d'utiliser htop .Il vous donne beaucoup d'informations en temps réel et est plus facile à contrôler et à gérer.
Vous pouvez modifier la disposition de la sortie, comme les graphiques à barres et les colonnes.
la source
top
utilise Curses et lit le/proc
système de fichiersla source
/proc
. Une autre façon d'obtenir les informations est sysctl (8) / sysctl (3).