|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 76 ![]() |
Salut à tous,
Je souhaite créer un script qui lance un programme toutes les 5 minutes (un jar java). J'ai donc fait une boucle infinie avec un sleep 300s dedans. Ma première question est de savoir si le sleep est la bonne méthode pour faire que le processus ne prenne que le minimum de temps processeur pendant ces 5 minutes. Ma seconde question est de savoir comment arrêter ce script quand on veut ? Aisément, sans avoir à aller chercher le pid pour le killer, genre en lançant un autre script ? Je ne sais pas si on peut récupérer le pid de mon premier script par le nom de celui-ci ou autre chose du style pour justement mettre ce kill dans le script d'arrêt ? Et si je pars dans la mauvaise direction en faisant comme ça, vos conseils sont les bienvenus ! Merci. |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() Michaël Conseil - Consultant en systèmes d'information Inscription : juin 2003 Messages : 673 ![]() |
Salut,
Pour faire un kill selon le nom du processus, tu peux faire un script perl qui fait ce travail avec une recherche de pid avec les expressions régulières très pratiques. Depuis ton script perl, tu fais un system(ps -u nom_user) et ensuite, tu fais une recherche sur le nom du processus en décomposant ligne par ligne. C'est pas dur c'est un exercice de formation à perl. Voilà en espérant que ca t'aide. Pour la première question, c'est peut-être pareil. Au lieu de passer par un script bash, fais toi un script avec un langage plus évolué dont tu peux plus facilement manipuler les options comme perl ou python, légers eux aussi. Voili voilou. N'hésite pas à demander si tu veux des éclaircissements.
__________________
Michaël Mary Consultant PLM dans une société de conseil toulousaine Auditeur CNAM-IPST depuis septembre 2008 "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods mon cv et mon domaine et mon blog Aucune question technique par MP, svp |
|
00
|
|
|
#3 |
|
Membre Expert
![]() ![]() Inscription : décembre 2002 Messages : 1 423 ![]() |
bonjour,
au démarrage de ton script tu peux enregistrer son PID dans un fichier dont tu connais le répertoire. Comme ça tu n'a plus besoin de chercher son PID. Ou alors ton script peut aussi vérifier la présence d'un fichier. si le fichier n'existe pas, ton scipt n'exécute pas l'action et sort de l aboucle. Ainsi pour stopper ton script tu n'a qu'a effacer le fichier.
__________________
Reportage d'Arte sur Linux |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 661 ![]() |
La solution la plus simple à mon avis est non pas de lancer un processus qui lance un boucle infinie pour relancer un processus toutes les 5 minutes mais bien d'utiliser un cron qui s'effectue toutes les 5 minutes..
Concernant le PID, en bash on peut obtenir le PID du script en cours avec $$ et et celui du sous shell via $! |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 76 ![]() |
Merci pour ces premières réponses.
becket, as-tu un exemple d'utilisation des $$ et $ ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com