mais pourtant il me reste parfois des fichiers nom.$$.
J'ai remarque que c'etait quand j'arretais le script par ^C, mais pas
systematiquement, parfois le rm est execute, parfois pas. Mettre un
trap sur SIGINT ne change pas ce comportement.
Est-ce que quelqu'un a une idee d'ou cela peut provenir?
Si ca peut aider, ksh de Solaris
--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Chazelas
On 19 Jan 2006 13:31:03 +0100, Jean-Marc Bourguet wrote:
J'ai un script qui contient
trap "rm /tmp/nom.$$" EXIT
mais pourtant il me reste parfois des fichiers nom.$$.
J'ai remarque que c'etait quand j'arretais le script par ^C, mais pas systematiquement, parfois le rm est execute, parfois pas. Mettre un trap sur SIGINT ne change pas ce comportement.
Est-ce que quelqu'un a une idee d'ou cela peut provenir? [...]
trap exit INT TERM HUP
?
Aussi, terminer son script par "exit" (pas tant pour declencher la trap sur exit que pour eviter une optimisation de ksh qui fait que les traps ne sont pas executees lors de la derniere commande (ksh fait un exec(la commande)).
La gestion des signaux est un immense bordel quelque soit le shell, dans tous les cas.
C'est quelle version de Solaris et de ksh?
-- Stephane
On 19 Jan 2006 13:31:03 +0100, Jean-Marc Bourguet wrote:
J'ai un script qui contient
trap "rm /tmp/nom.$$" EXIT
mais pourtant il me reste parfois des fichiers nom.$$.
J'ai remarque que c'etait quand j'arretais le script par ^C, mais pas
systematiquement, parfois le rm est execute, parfois pas. Mettre un
trap sur SIGINT ne change pas ce comportement.
Est-ce que quelqu'un a une idee d'ou cela peut provenir?
[...]
trap exit INT TERM HUP
?
Aussi, terminer son script par "exit" (pas tant pour declencher
la trap sur exit que pour eviter une optimisation de ksh qui
fait que les traps ne sont pas executees lors de la derniere
commande (ksh fait un exec(la commande)).
La gestion des signaux est un immense bordel quelque soit le
shell, dans tous les cas.
On 19 Jan 2006 13:31:03 +0100, Jean-Marc Bourguet wrote:
J'ai un script qui contient
trap "rm /tmp/nom.$$" EXIT
mais pourtant il me reste parfois des fichiers nom.$$.
J'ai remarque que c'etait quand j'arretais le script par ^C, mais pas systematiquement, parfois le rm est execute, parfois pas. Mettre un trap sur SIGINT ne change pas ce comportement.
Est-ce que quelqu'un a une idee d'ou cela peut provenir? [...]
trap exit INT TERM HUP
?
Aussi, terminer son script par "exit" (pas tant pour declencher la trap sur exit que pour eviter une optimisation de ksh qui fait que les traps ne sont pas executees lors de la derniere commande (ksh fait un exec(la commande)).
La gestion des signaux est un immense bordel quelque soit le shell, dans tous les cas.
C'est quelle version de Solaris et de ksh?
-- Stephane
Vincent Lefevre
Dans l'article , Stephane Chazelas écrit:
La gestion des signaux est un immense bordel quelque soit le shell, dans tous les cas.
On 19 Jan 2006 13:31:03 +0100, Jean-Marc Bourguet wrote:
J'ai un script qui contient
trap "rm /tmp/nom.$$" EXIT
mais pourtant il me reste parfois des fichiers nom.$$.
J'ai remarque que c'etait quand j'arretais le script par ^C, mais pas systematiquement, parfois le rm est execute, parfois pas. Mettre un trap sur SIGINT ne change pas ce comportement.
Est-ce que quelqu'un a une idee d'ou cela peut provenir? [...]
trap exit INT TERM HUP
?
Ca ne fonctionne pas mieux.
Il me semble que c'est lie a un
set -e
mais mettre aussi un trap sur ERR ne fait pas ce que je veux.
C'est quelle version de Solaris et de ksh?
Aussi, terminer son script par "exit" (pas tant pour declencher la trap sur exit que pour eviter une optimisation de ksh qui fait que les traps ne sont pas executees lors de la derniere commande (ksh fait un exec(la commande)).
Marche pas mieux non plus.
La gestion des signaux est un immense bordel quelque soit le shell, dans tous les cas.
J'ai pas trop envie de reecrire ce script qui a part ca fait ce dont j'ai besoin et de plus je n'en ai vraiment pas le temps. Je vais finir par laisser les choses en l'etat.
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
On 19 Jan 2006 13:31:03 +0100, Jean-Marc Bourguet wrote:
J'ai un script qui contient
trap "rm /tmp/nom.$$" EXIT
mais pourtant il me reste parfois des fichiers nom.$$.
J'ai remarque que c'etait quand j'arretais le script par ^C, mais pas
systematiquement, parfois le rm est execute, parfois pas. Mettre un
trap sur SIGINT ne change pas ce comportement.
Est-ce que quelqu'un a une idee d'ou cela peut provenir?
[...]
trap exit INT TERM HUP
?
Ca ne fonctionne pas mieux.
Il me semble que c'est lie a un
set -e
mais mettre aussi un trap sur ERR ne fait pas ce que je veux.
C'est quelle version de Solaris et de ksh?
Aussi, terminer son script par "exit" (pas tant pour declencher
la trap sur exit que pour eviter une optimisation de ksh qui
fait que les traps ne sont pas executees lors de la derniere
commande (ksh fait un exec(la commande)).
Marche pas mieux non plus.
La gestion des signaux est un immense bordel quelque soit le shell,
dans tous les cas.
J'ai pas trop envie de reecrire ce script qui a part ca fait ce dont
j'ai besoin et de plus je n'en ai vraiment pas le temps. Je vais
finir par laisser les choses en l'etat.
A+
--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
On 19 Jan 2006 13:31:03 +0100, Jean-Marc Bourguet wrote:
J'ai un script qui contient
trap "rm /tmp/nom.$$" EXIT
mais pourtant il me reste parfois des fichiers nom.$$.
J'ai remarque que c'etait quand j'arretais le script par ^C, mais pas systematiquement, parfois le rm est execute, parfois pas. Mettre un trap sur SIGINT ne change pas ce comportement.
Est-ce que quelqu'un a une idee d'ou cela peut provenir? [...]
trap exit INT TERM HUP
?
Ca ne fonctionne pas mieux.
Il me semble que c'est lie a un
set -e
mais mettre aussi un trap sur ERR ne fait pas ce que je veux.
C'est quelle version de Solaris et de ksh?
Aussi, terminer son script par "exit" (pas tant pour declencher la trap sur exit que pour eviter une optimisation de ksh qui fait que les traps ne sont pas executees lors de la derniere commande (ksh fait un exec(la commande)).
Marche pas mieux non plus.
La gestion des signaux est un immense bordel quelque soit le shell, dans tous les cas.
J'ai pas trop envie de reecrire ce script qui a part ca fait ce dont j'ai besoin et de plus je n'en ai vraiment pas le temps. Je vais finir par laisser les choses en l'etat.
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Jean-Marc Bourguet
Jean-Marc Bourguet writes:
C'est quelle version de Solaris et de ksh?
Arg, j'oublie.
SunOS 5.8
La version de ksh est celle d'origine avec les patchs qu'on nous a installe. Si tu m'indiques comment trouve plus precis, je le fais.
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Jean-Marc Bourguet <jm@bourguet.org> writes:
C'est quelle version de Solaris et de ksh?
Arg, j'oublie.
SunOS 5.8
La version de ksh est celle d'origine avec les patchs qu'on nous a
installe. Si tu m'indiques comment trouve plus precis, je le fais.
A+
--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
La version de ksh est celle d'origine avec les patchs qu'on nous a installe. Si tu m'indiques comment trouve plus precis, je le fais.
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Jean-Marc Bourguet
Jean-Marc Bourguet writes:
Jean-Marc Bourguet writes:
C'est quelle version de Solaris et de ksh?
Arg, j'oublie.
SunOS 5.8
La version de ksh est celle d'origine avec les patchs qu'on nous a installe. Si tu m'indiques comment trouve plus precis, je le fais.
J'ai l'impression que les traps ne sont pas traites pendant l'execution d'une fonction. Ajouter une instruction trap dans la fonction a l'air de faire affaire sur un exemple simplifie.
L'effet est bizarre, si on n'a pas de trap dedans, apres la fonction le trap mis globalement fonctione. Si il y a un trap mis dans la fonction, celui-ci est execute aussi apres le retour de la fonction.
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Jean-Marc Bourguet <jm@bourguet.org> writes:
Jean-Marc Bourguet <jm@bourguet.org> writes:
C'est quelle version de Solaris et de ksh?
Arg, j'oublie.
SunOS 5.8
La version de ksh est celle d'origine avec les patchs qu'on nous a
installe. Si tu m'indiques comment trouve plus precis, je le fais.
J'ai l'impression que les traps ne sont pas traites pendant
l'execution d'une fonction. Ajouter une instruction trap dans la
fonction a l'air de faire affaire sur un exemple simplifie.
L'effet est bizarre, si on n'a pas de trap dedans, apres la fonction
le trap mis globalement fonctione. Si il y a un trap mis dans la
fonction, celui-ci est execute aussi apres le retour de la fonction.
A+
--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
La version de ksh est celle d'origine avec les patchs qu'on nous a installe. Si tu m'indiques comment trouve plus precis, je le fais.
J'ai l'impression que les traps ne sont pas traites pendant l'execution d'une fonction. Ajouter une instruction trap dans la fonction a l'air de faire affaire sur un exemple simplifie.
L'effet est bizarre, si on n'a pas de trap dedans, apres la fonction le trap mis globalement fonctione. Si il y a un trap mis dans la fonction, celui-ci est execute aussi apres le retour de la fonction.
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Stephane Chazelas
On 19 Jan 2006 15:07:56 +0100, Jean-Marc Bourguet wrote:
Jean-Marc Bourguet writes:
Jean-Marc Bourguet writes:
C'est quelle version de Solaris et de ksh?
Arg, j'oublie.
SunOS 5.8
La version de ksh est celle d'origine avec les patchs qu'on nous a installe. Si tu m'indiques comment trouve plus precis, je le fais.
J'ai l'impression que les traps ne sont pas traites pendant l'execution d'une fonction. Ajouter une instruction trap dans la fonction a l'air de faire affaire sur un exemple simplifie. [...]
Je crois que ca depend de comment les fonctions sont declarees:
f() { }
ou
function f { }
A voir.
Tu as essayé avec pdksh (qui ne fait pas de distinction entre les deux) ou avec zsh en mode ksh?
-- Stephane
On 19 Jan 2006 15:07:56 +0100, Jean-Marc Bourguet wrote:
Jean-Marc Bourguet <jm@bourguet.org> writes:
Jean-Marc Bourguet <jm@bourguet.org> writes:
C'est quelle version de Solaris et de ksh?
Arg, j'oublie.
SunOS 5.8
La version de ksh est celle d'origine avec les patchs qu'on nous a
installe. Si tu m'indiques comment trouve plus precis, je le fais.
J'ai l'impression que les traps ne sont pas traites pendant
l'execution d'une fonction. Ajouter une instruction trap dans la
fonction a l'air de faire affaire sur un exemple simplifie.
[...]
Je crois que ca depend de comment les fonctions sont declarees:
f() {
}
ou
function f {
}
A voir.
Tu as essayé avec pdksh (qui ne fait pas de distinction entre
les deux) ou avec zsh en mode ksh?
On 19 Jan 2006 15:07:56 +0100, Jean-Marc Bourguet wrote:
Jean-Marc Bourguet writes:
Jean-Marc Bourguet writes:
C'est quelle version de Solaris et de ksh?
Arg, j'oublie.
SunOS 5.8
La version de ksh est celle d'origine avec les patchs qu'on nous a installe. Si tu m'indiques comment trouve plus precis, je le fais.
J'ai l'impression que les traps ne sont pas traites pendant l'execution d'une fonction. Ajouter une instruction trap dans la fonction a l'air de faire affaire sur un exemple simplifie. [...]
Je crois que ca depend de comment les fonctions sont declarees:
f() { }
ou
function f { }
A voir.
Tu as essayé avec pdksh (qui ne fait pas de distinction entre les deux) ou avec zsh en mode ksh?
-- Stephane
Jean-Marc Bourguet
Stephane Chazelas writes:
On 19 Jan 2006 15:07:56 +0100, Jean-Marc Bourguet wrote:
Jean-Marc Bourguet writes:
Jean-Marc Bourguet writes:
C'est quelle version de Solaris et de ksh?
Arg, j'oublie.
SunOS 5.8
La version de ksh est celle d'origine avec les patchs qu'on nous a installe. Si tu m'indiques comment trouve plus precis, je le fais.
J'ai l'impression que les traps ne sont pas traites pendant l'execution d'une fonction. Ajouter une instruction trap dans la fonction a l'air de faire affaire sur un exemple simplifie. [...]
Je crois que ca depend de comment les fonctions sont declarees:
f() { }
ou
function f { }
A voir.
Ca n'a pas l'air.
Avec bash non plus, mais lui a le comportement que j'attends dans les deux cas.
Tu as essayé avec pdksh (qui ne fait pas de distinction entre les deux) ou avec zsh en mode ksh?
Ils ne sont pas dispo ici (du moins sur les Sun)
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
On 19 Jan 2006 15:07:56 +0100, Jean-Marc Bourguet wrote:
Jean-Marc Bourguet <jm@bourguet.org> writes:
Jean-Marc Bourguet <jm@bourguet.org> writes:
C'est quelle version de Solaris et de ksh?
Arg, j'oublie.
SunOS 5.8
La version de ksh est celle d'origine avec les patchs qu'on nous a
installe. Si tu m'indiques comment trouve plus precis, je le fais.
J'ai l'impression que les traps ne sont pas traites pendant
l'execution d'une fonction. Ajouter une instruction trap dans la
fonction a l'air de faire affaire sur un exemple simplifie.
[...]
Je crois que ca depend de comment les fonctions sont declarees:
f() {
}
ou
function f {
}
A voir.
Ca n'a pas l'air.
Avec bash non plus, mais lui a le comportement que j'attends dans les
deux cas.
Tu as essayé avec pdksh (qui ne fait pas de distinction entre les
deux) ou avec zsh en mode ksh?
Ils ne sont pas dispo ici (du moins sur les Sun)
--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
On 19 Jan 2006 15:07:56 +0100, Jean-Marc Bourguet wrote:
Jean-Marc Bourguet writes:
Jean-Marc Bourguet writes:
C'est quelle version de Solaris et de ksh?
Arg, j'oublie.
SunOS 5.8
La version de ksh est celle d'origine avec les patchs qu'on nous a installe. Si tu m'indiques comment trouve plus precis, je le fais.
J'ai l'impression que les traps ne sont pas traites pendant l'execution d'une fonction. Ajouter une instruction trap dans la fonction a l'air de faire affaire sur un exemple simplifie. [...]
Je crois que ca depend de comment les fonctions sont declarees:
f() { }
ou
function f { }
A voir.
Ca n'a pas l'air.
Avec bash non plus, mais lui a le comportement que j'attends dans les deux cas.
Tu as essayé avec pdksh (qui ne fait pas de distinction entre les deux) ou avec zsh en mode ksh?
Ils ne sont pas dispo ici (du moins sur les Sun)
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
ts
"J" == Jean-Marc Bourguet writes:
J> J'ai l'impression que les traps ne sont pas traites pendant J> l'execution d'une fonction. Ajouter une instruction trap dans la J> fonction a l'air de faire affaire sur un exemple simplifie.
Ceci correspond il à ce que vous avez ?
Functions execute in the same process as the caller and share all files and present working directory with the caller. Traps caught by the caller are reset to their default action inside the function.
J> J'ai l'impression que les traps ne sont pas traites pendant
J> l'execution d'une fonction. Ajouter une instruction trap dans la
J> fonction a l'air de faire affaire sur un exemple simplifie.
Ceci correspond il à ce que vous avez ?
Functions execute in the same process as the caller and
share all files and present working directory with the
caller. Traps caught by the caller are reset to their
default action inside the function.
J> J'ai l'impression que les traps ne sont pas traites pendant J> l'execution d'une fonction. Ajouter une instruction trap dans la J> fonction a l'air de faire affaire sur un exemple simplifie.
Ceci correspond il à ce que vous avez ?
Functions execute in the same process as the caller and share all files and present working directory with the caller. Traps caught by the caller are reset to their default action inside the function.
--
Guy Decoux
Jean-Marc Bourguet
ts writes:
"J" == Jean-Marc Bourguet writes:
J> J'ai l'impression que les traps ne sont pas traites pendant J> l'execution d'une fonction. Ajouter une instruction trap dans la J> fonction a l'air de faire affaire sur un exemple simplifie.
Ceci correspond il à ce que vous avez ?
Functions execute in the same process as the caller and share all files and present working directory with the caller. Traps caught by the caller are reset to their default action inside the function.
Oui. A part que l'effet a l'exterieur de la fonction est bizarre: quand on a mis un trap, il reste; quand on n'en a pas mis, l'ancien revient.
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
J> J'ai l'impression que les traps ne sont pas traites pendant
J> l'execution d'une fonction. Ajouter une instruction trap dans la
J> fonction a l'air de faire affaire sur un exemple simplifie.
Ceci correspond il à ce que vous avez ?
Functions execute in the same process as the caller and
share all files and present working directory with the
caller. Traps caught by the caller are reset to their
default action inside the function.
Oui. A part que l'effet a l'exterieur de la fonction est bizarre:
quand on a mis un trap, il reste; quand on n'en a pas mis, l'ancien
revient.
A+
--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
J> J'ai l'impression que les traps ne sont pas traites pendant J> l'execution d'une fonction. Ajouter une instruction trap dans la J> fonction a l'air de faire affaire sur un exemple simplifie.
Ceci correspond il à ce que vous avez ?
Functions execute in the same process as the caller and share all files and present working directory with the caller. Traps caught by the caller are reset to their default action inside the function.
Oui. A part que l'effet a l'exterieur de la fonction est bizarre: quand on a mis un trap, il reste; quand on n'en a pas mis, l'ancien revient.
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
ts
"J" == Jean-Marc Bourguet writes:
J> Oui. A part que l'effet a l'exterieur de la fonction est bizarre: J> quand on a mis un trap, il reste; quand on n'en a pas mis, l'ancien J> revient.
Si c'est pour EXIT, il semble avoir un comportement particulier. Mieux vaut voir la page man d'où est extrait le précédent paragraphe :-)
J> Oui. A part que l'effet a l'exterieur de la fonction est bizarre:
J> quand on a mis un trap, il reste; quand on n'en a pas mis, l'ancien
J> revient.
Si c'est pour EXIT, il semble avoir un comportement particulier. Mieux
vaut voir la page man d'où est extrait le précédent paragraphe :-)
J> Oui. A part que l'effet a l'exterieur de la fonction est bizarre: J> quand on a mis un trap, il reste; quand on n'en a pas mis, l'ancien J> revient.
Si c'est pour EXIT, il semble avoir un comportement particulier. Mieux vaut voir la page man d'où est extrait le précédent paragraphe :-)