Notifications
Retirer tout

script Linux - executer une commande à interval régulier

11 Posts
2 Utilisateurs
0 Reactions
1 522 Vu
Posts: 141
 Toff
Initiateur du sujet
(@toff)
Membre estimable
Inscription: Il y a 22 ans

Bonsoir tout le monde!

Je suis sous RedHat 5 au bureau et je voudrai surveiller la consommation mémoire d'un process en particulier au cours du temps. Ne connaissant pas d'outils pour faire ça de manière simple et efficace, j'ai d'abord pensé à faire un top et à rester devant pour observer la mémoire max, mais il s'agit en fait d'un calcul élément fini et cela peut prendre des heures, voire des jours entiers...

Une autre solution à laquelle je pense est d'aller choper dans le fichier /proc/#pid/status la ligne qui va bien et l'enregistrer dans un fichier ascii. Après c'est à moi de me taper le fichier en question pour trouver la valeur maximum...mais ça, je veux bien le faire.
J'aimerais donc automatiser un peu tout ça avec un script par exemple mais mon soucis est : comment faire pour que ma commande 'grep' s'exécute à intervale régulier ? genre toute les 30s, il va aller lire le fichier 'status' et écrire dans un fichier 'mémoire_max'.

Merci d'avance pour vos lumières 🙂

10 Réponses
Malouk
Posts: 6354
Admin
(@malouk)
Membre illustre
Inscription: Il y a 23 ans

Je ne sais plus trop comment fonctionne sleep, mais je pense que c'est simplement une commande qui "endort" le processus un moment, une fois ce délai écoulé, la commande s'exécute puis c'est fini.

Pour le ré-exécuter tous les x temps, il faudrait alors utiliser sleep dans une boucle. La boucle permettra de ré-exécuter la commande à chaque fois.

Répondre
Posts: 141
 Toff
Initiateur du sujet
(@toff)
Membre estimable
Inscription: Il y a 22 ans

et tu sais comment je peux faire une boucle ?

Désolé mais c'est vrai que je ne connais pas les commandes linux et je n'ai rien trouvé sur le net hors mis sur le cron...

Répondre
Malouk
Posts: 6354
Admin
(@malouk)
Membre illustre
Inscription: Il y a 23 ans

Heu, ça fait bien 5 ans que j'ai plus fait de boucle en linux. Il faudrait regarder sur Google.

Répondre
Posts: 141
 Toff
Initiateur du sujet
(@toff)
Membre estimable
Inscription: Il y a 22 ans

Merci Malouk.

J'ai regardé un peu ce que je pouvais trouver comme boucle pour mon besoin et la fonction while devrait correspondre.
Si j'ai bien compris elle s'utilise comme suit:
while [condition] do [instruction] done;

Maintenant ma question est: puis-je tester l'existance d'un process ?
J'ai bien vu quelques "if exist" sur le net mais je n'ai pas vu comment ça marchait, enfin il y a des trucs mais je comprend pas tout...

Merci par avance.

Répondre
Malouk
Posts: 6354
Admin
(@malouk)
Membre illustre
Inscription: Il y a 23 ans

en faisant un vérification dans /var/run il y a peut-être moyen

Répondre
Page 2 / 3
Retour en haut