Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

exécuter en parallèle et attendre la fin

13 réponses
Avatar
Thomas
bonjour :-)


est ce que c'est possible d'exécuter en parallèle et attendre la fin ?


du genre :

commande1 &
commande2 &
on attend que commande1 et commande2 soient terminées
commande3

parce que c'est plus rapide d'exécuter commande1 et commande2 en
parallèle, par exemple parce qu'elles n'utilisent pas les mêmes
ressources,
mais on a besoin d'attendre qu'elles soient terminées pour pouvoir
exécuter commande3

--
j'agis contre l'assistanat, je travaille dans une SCOP !

10 réponses

1 2
Avatar
Stephane Chazelas
2007-09-14, 15:44(+02), Thomas:
[...]
est ce que c'est possible d'exécuter en parallèle et attendre la fin ?


du genre :

commande1 &
commande2 &
on attend que commande1 et commande2 soient terminées
commande3

parce que c'est plus rapide d'exécuter commande1 et commande2 en
parallèle, par exemple parce qu'elles n'utilisent pas les mêmes
ressources,
mais on a besoin d'attendre qu'elles soient terminées pour pouvoir
exécuter commande3


commande1 &
commande2 &
wait
commande3

--
Stéphane

Avatar
Thomas
In article ,
Stephane Chazelas wrote:

2007-09-14, 15:44(+02), Thomas:
[...]
est ce que c'est possible d'exécuter en parallèle et attendre la fin ?


du genre :

commande1 &
commande2 &
on attend que commande1 et commande2 soient terminées
commande3

parce que c'est plus rapide d'exécuter commande1 et commande2 en
parallèle, par exemple parce qu'elles n'utilisent pas les mêmes
ressources,
mais on a besoin d'attendre qu'elles soient terminées pour pouvoir
exécuter commande3


commande1 &
commande2 &
wait
commande3


merci bcp :-)


pas grand chose à voire :

peut on avoir la doc des commandes "builtin" simplement ?
avec man wait on apprend juste que c'est "builtin", mais on n'a pas la
doc,
et il faut aller tout au bout de man sh (c'est long :-/ )

--
j'agis contre l'assistanat, je travaille dans une SCOP !


Avatar
Stephane Chazelas
2007-09-14, 16:13(+02), Thomas:
[...]
peut on avoir la doc des commandes "builtin" simplement ?
avec man wait on apprend juste que c'est "builtin", mais on n'a pas la
doc,
et il faut aller tout au bout de man sh (c'est long :-/ )


Depend du shell. Avec bash: help wait
Avec zsh, voir "Accessing On-Line Help" dans info -f zsh -n
Utilities.

Avec bash et zsh, utiliser l'index dans info.

--
Stéphane

Avatar
Stephane Chazelas
2007-09-14, 14:18(+00), Stephane Chazelas:
2007-09-14, 16:13(+02), Thomas:
[...]
peut on avoir la doc des commandes "builtin" simplement ?
avec man wait on apprend juste que c'est "builtin", mais on n'a pas la
doc,
et il faut aller tout au bout de man sh (c'est long :-/ )


Depend du shell. Avec bash: help wait
Avec zsh, voir "Accessing On-Line Help" dans info -f zsh -n
Utilities.

Avec bash et zsh, utiliser l'index dans info.


Ah et puis, pour les scripts, bien sur, utiliser le standard:
http://www.opengroup.org/onlinepubs/009695399/utilities/wait.html
par exemple.

--
Stéphane


Avatar
Thomas
In article ,
Stephane Chazelas wrote:

2007-09-14, 14:18(+00), Stephane Chazelas:
2007-09-14, 16:13(+02), Thomas:
[...]
peut on avoir la doc des commandes "builtin" simplement ?
avec man wait on apprend juste que c'est "builtin", mais on n'a pas la
doc,
et il faut aller tout au bout de man sh (c'est long :-/ )


Depend du shell. Avec bash: help wait



merci bcp :-)

Avec bash et zsh, utiliser l'index dans info.



qq c'est ? (juste une curiosité, help me suffit pour l'instant :-) )


Ah et puis, pour les scripts, bien sur, utiliser le standard:
http://www.opengroup.org/onlinepubs/009695399/utilities/wait.html
par exemple.


j'ai pas compris "utiliser le standard"
merci pour le lien:-)

--
j'agis contre l'assistanat, je travaille dans une SCOP !



Avatar
Thomas
In article ,
Stephane Chazelas wrote:

2007-09-14, 15:44(+02), Thomas:
[...]
est ce que c'est possible d'exécuter en parallèle et attendre la fin ?


commande1 &
commande2 &
wait
commande3



un peu dans le même genre (j'hésitais à faire un nouveau fil pour ça) :

il y a un script que je termine par
commande > dossier/log &

je ne veux surtout pas attendre la fin de commande parce que je veux que
ce script se termine très vite

mais, si possible, j'aimerais quand même être prévenu (avec un code
d'erreur, comme quand la dernière commande retourne une erreur) si
commande ne peut pas être lancé correctement
(si commande n'existe pas, si commande n'est pas exécutable, si le
dossier du log n'existe pas, ...)
est ce que c'est possible de façon pas trop compliquée ? :-)

--
j'agis contre l'assistanat, je travaille dans une SCOP !


Avatar
Stephane Chazelas
2007-09-15, 01:21(+02), Thomas:
[...]
il y a un script que je termine par
commande > dossier/log &

je ne veux surtout pas attendre la fin de commande parce que je veux que
ce script se termine très vite

mais, si possible, j'aimerais quand même être prévenu (avec un code
d'erreur, comme quand la dernière commande retourne une erreur) si
commande ne peut pas être lancé correctement
(si commande n'existe pas, si commande n'est pas exécutable, si le
dossier du log n'existe pas, ...)
est ce que c'est possible de façon pas trop compliquée ? :-)


Faudra faire les tests a la main:

if type commande > /dev/null; then
exec > dossier/log
commande &
fi

exec fait terminer le shell s'il echoue.

--
Stéphane

Avatar
Stephane Chazelas
2007-09-15, 01:03(+02), Thomas:
[...]
Ah et puis, pour les scripts, bien sur, utiliser le standard:
http://www.opengroup.org/onlinepubs/009695399/utilities/wait.html
par exemple.


j'ai pas compris "utiliser le standard"
merci pour le lien:-)


En general, pour les scripts, on essaie d'utiliser la syntaxe C
standard, comme ca on n'a pas a se poser la question de si ca
marchera ou pas sous tel ou tel system. De meme que quand on
ecrit en C, on prefere utiliser du C standard que du GNU C (qui
n'est reconnu que par gcc).

Et le(s) standard(s) pour la syntaxe sh est defini a l'addresse
que j'ai donnee.

--
Stéphane


Avatar
Thomas
In article ,
Stephane Chazelas wrote:

2007-09-15, 01:21(+02), Thomas:
[...]
il y a un script que je termine par
commande > dossier/log &

je ne veux surtout pas attendre la fin de commande parce que je veux que
ce script se termine très vite

mais, si possible, j'aimerais quand même être prévenu (avec un code
d'erreur, comme quand la dernière commande retourne une erreur) si
commande ne peut pas être lancé correctement
(si commande n'existe pas, si commande n'est pas exécutable, si le
dossier du log n'existe pas, ...)
est ce que c'est possible de façon pas trop compliquée ? :-)


Faudra faire les tests a la main:

if type commande > /dev/null; then
exec > dossier/log
commande &
fi

exec fait terminer le shell s'il echoue.


merci :-)

--
j'agis contre l'assistanat, je travaille dans une SCOP !


Avatar
Thomas
In article ,
Stephane Chazelas wrote:

2007-09-15, 01:03(+02), Thomas:
[...]
Ah et puis, pour les scripts, bien sur, utiliser le standard:
http://www.opengroup.org/onlinepubs/009695399/utilities/wait.html
par exemple.


j'ai pas compris "utiliser le standard"
merci pour le lien:-)


En general, pour les scripts, on essaie d'utiliser la syntaxe C
standard, comme ca on n'a pas a se poser la question de si ca
marchera ou pas sous tel ou tel system. De meme que quand on
ecrit en C, on prefere utiliser du C standard que du GNU C (qui
n'est reconnu que par gcc).


ok :-)
(moi je programme en ada, donc de ce point de vue c'est plus rigide et
on a moins de pb :-) )


Et le(s) standard(s) pour la syntaxe sh est defini a l'addresse
que j'ai donnee.


alors que help et man donnent tout ce qu'on a le droit de faire
localement ... c'est logique :-)
merci :-)

--
j'agis contre l'assistanat, je travaille dans une SCOP !



1 2