Ps retourne 2 lignes au lieu d'une

Fermé
Fred.L. - 17 mars 2008 à 15:43
mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 - 18 mars 2008 à 13:10
<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
A voir également:

2 réponses

mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 7 809
18 mars 2008 à 09:13
Il faudrait nous donner le contenu de :
$HOME/.profile
$HOME/fct_import.ksh

Bonne chance
0
==> le .profile est classique
==> 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 !
0
mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 7 809
18 mars 2008 à 13:10
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
0