Ordre traitement des processus script shell
Résolu
A voir également:
- Ordre traitement des processus script shell
- Excel trier par ordre croissant chiffre - Guide
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Traitement de texte gratuit - Guide
- Mas script - Accueil - Windows
3 réponses
Salut,
Question 1 : Oui
Question 2 : Tu lances la commande précédente en arrière-plan (commande &) et tu intercales un "sleep 10", puis tu vérifies que le job de la commande en arrière-plan ($!) n'est plus présent...
Question 1 : Oui
Question 2 : Tu lances la commande précédente en arrière-plan (commande &) et tu intercales un "sleep 10", puis tu vérifies que le job de la commande en arrière-plan ($!) n'est plus présent...
question 1: merci
question 2: si j'ai bien compris, ca donne ça?
commande 0
/noyaudecalcul &
sleep 10
commande 1
question 2: si j'ai bien compris, ca donne ça?
commande 0
/noyaudecalcul &
sleep 10
commande 1
d'accord!
Alors en fait je n'ai pas été assez précis dans ma demande.
Normalement le noyau de calculs met 1/2 seconde à peu près. Sauf qu'avec cette méthode même s'il a finit, on doit attendre 10 secondes avant de passer à la commande suivante.
Je voudrais que si le temps mis pour l'execution du noyau de calculs est supérieur à 10 secondes le processus soit interrompu sinon on passe directement à la commande suivante dès que le noyau à terminer.
Une idée?
Alors en fait je n'ai pas été assez précis dans ma demande.
Normalement le noyau de calculs met 1/2 seconde à peu près. Sauf qu'avec cette méthode même s'il a finit, on doit attendre 10 secondes avant de passer à la commande suivante.
Je voudrais que si le temps mis pour l'execution du noyau de calculs est supérieur à 10 secondes le processus soit interrompu sinon on passe directement à la commande suivante dès que le noyau à terminer.
Une idée?
Salut dubcek,
Normalement le noyau de calculs met 1/2 seconde à peu près. Sauf qu'avec cette méthode même s'il a finit, on doit attendre 10 secondes avant de passer à la commande suivante.
Ça ne change rien au problème et je ne pense pas qu'il soit possible de mettre en oeuvre ce que demande teab avec un job en arrière plan et la commande wait ;-((
Normalement le noyau de calculs met 1/2 seconde à peu près. Sauf qu'avec cette méthode même s'il a finit, on doit attendre 10 secondes avant de passer à la commande suivante.
Ça ne change rien au problème et je ne pense pas qu'il soit possible de mettre en oeuvre ce que demande teab avec un job en arrière plan et la commande wait ;-((
Bonjour !
Primo, merci! Je n'ai pas encore eu le temps de tester cette solution.
J'aimerai etre sur d'avoir compris.
/noyaudecalcul & ==> lancement en tache de fond
PID=$! ==> ??
(sleep 10 ; pgrep -l noyaudecalcul | grep -q $PID && kill $PID )& ==> en tache de fond: attente de 10s, recuperation du PID du noyaudecalcul et kill du processus
wait $PID
En fait j'ai un doute sur l'insertion de ce code dans une boucle for.
Car imaginons que la boucle est à l'indice i et que le calcul se fasse en 1/2s. Il ne faut pas que la tache de fond (sleep....) kill le processus de la boucle i+1.
Mon explication n'est peut être pas très clair mais j'ai du mal à cerner la difficulté.
Qu'en pensez-vous?
Primo, merci! Je n'ai pas encore eu le temps de tester cette solution.
J'aimerai etre sur d'avoir compris.
/noyaudecalcul & ==> lancement en tache de fond
PID=$! ==> ??
(sleep 10 ; pgrep -l noyaudecalcul | grep -q $PID && kill $PID )& ==> en tache de fond: attente de 10s, recuperation du PID du noyaudecalcul et kill du processus
wait $PID
En fait j'ai un doute sur l'insertion de ce code dans une boucle for.
Car imaginons que la boucle est à l'indice i et que le calcul se fasse en 1/2s. Il ne faut pas que la tache de fond (sleep....) kill le processus de la boucle i+1.
Mon explication n'est peut être pas très clair mais j'ai du mal à cerner la difficulté.
Qu'en pensez-vous?