Ps retourne 2 lignes au lieu d'une
<ps retourne 2 lignes au lieu d'une seule (fork de shell ??)>
Bonjour,
j'ai un shell toto.ksh, dans lequel je fais un contrôle pour savoir s'il est déjà lancé.
En gros :
#############
#SHE-BANG
#############
#!/bin/ksh
#############
#SOURCE DES FCTIONS
#############
. $HOME/.profile
. $HOME/fct_import.ksh
#############
#CONTROLE pour savoir s'il est déjà lancé.
#############
PROCESSUS=`basename $0`
nb_proc=`ps -fu $LOGNAME | grep $PROCESSUS | grep -v grep | grep -v vi| wc -l`
if [ $nb_proc -ne 1 ]
then
echo "Le processus est deja lancé"
exit 1
fi
Or le ps me renvoie (parfois, pas toujours) : 2 processus et non UN
pid=20235 ppid=20234 /bin/ksh toto.ksh
pid=20259 ppid=20235 /bin/ksh toto.ksh
POURQUOI J'ai 2 processus (l'un étant le fils de l'autre) alors que je n'en lance qu'UN ??A cause du source des autres ksh (.profile et fct_import.ksh) ???
Merci à vous
Fred
Bonjour,
j'ai un shell toto.ksh, dans lequel je fais un contrôle pour savoir s'il est déjà lancé.
En gros :
#############
#SHE-BANG
#############
#!/bin/ksh
#############
#SOURCE DES FCTIONS
#############
. $HOME/.profile
. $HOME/fct_import.ksh
#############
#CONTROLE pour savoir s'il est déjà lancé.
#############
PROCESSUS=`basename $0`
nb_proc=`ps -fu $LOGNAME | grep $PROCESSUS | grep -v grep | grep -v vi| wc -l`
if [ $nb_proc -ne 1 ]
then
echo "Le processus est deja lancé"
exit 1
fi
Or le ps me renvoie (parfois, pas toujours) : 2 processus et non UN
pid=20235 ppid=20234 /bin/ksh toto.ksh
pid=20259 ppid=20235 /bin/ksh toto.ksh
POURQUOI J'ai 2 processus (l'un étant le fils de l'autre) alors que je n'en lance qu'UN ??A cause du source des autres ksh (.profile et fct_import.ksh) ???
Merci à vous
Fred
A voir également:
- Ps retourne 2 lignes au lieu d'une
- Supercopier 2 - Télécharger - Gestion de fichiers
- Ecran retourne - Guide
- Voir un lieu en direct par satellite - Guide
- Retourner une vidéo - Guide
- 2 ecran pc - Guide
2 réponses
Possible mais ça me paraît bizarre. En fait je me demande où tu vois un fork (ou pour quelle raison il y aurait un fork)... C'est pour ça que je te demandais le contenu de ces deux fichiers, en soupçonnant que le fork était provoqué par l'un deux. Par ailleurs ton script tu le lances comment ?
Qu'est ce que ça donne si tu changes le headers #!/bin/ksh par #!/bin/sh ?
Bonne chance
Qu'est ce que ça donne si tu changes le headers #!/bin/ksh par #!/bin/sh ?
Bonne chance
==> le fct_import.ksh commence par un shabang #!/bin/ksh
et ne contient que des exports
J'ai trouvé sur le Net des problèmes équivalents, mais pas de solutions.
a priori, ça viendrait du processus qui forke pour créer le ps qui s'appelle comme mon shell... C'est pour ça que j'en vois 2 de temps en temps
C'est sur un SunOS 5.8... C'est peut-etre trop vieux comme Unix/Shell ??
http://www.mydatabasesupport.com/...
http://www.commentcamarche.net/forum/affich 2830833 cron un script se lance deux fois
http://unix.ittoolbox.com/groups/technical-functional/solaris-l/unexpected-behaviour-in-scripting-841367
Merci de ton aide !