Ps -aux sans sortie !

Fermé
ntrvdonett Messages postés 11 Date d'inscription vendredi 16 novembre 2012 Statut Membre Dernière intervention 27 novembre 2015 - 16 nov. 2012 à 14:49
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 - 9 déc. 2012 à 08:23
Bonjour,

j'essaye de faire un simple script Bash qui surveille la présence d'un autre script.
Mon idée est de faire une boucle while avec un ps -aux :

#!/bin/bash

while ! ps -auxf | grep "[c]ana.php" > /dev/null 2>&1 ; do
#rien, tu attends !
date >> /home/fichier.log
echo "j'ai rien pour l'instant" >> /home/fichier.log
sleep 5
done

Voilà, ce script fonction parfaitement si je le lance à la main.
Mais lors du boot c'est init qui le lance (je le lance depuis rc.locale)
et là, ps -aux ne sort rien du tout !!

Savez vous pourquoi ? Je me doute qu'il y a quelque chose avec l'environnement mais quoi ?

J'ai fait des recherche sur 'ps' mais je n'abouti pas !

Merci

A voir également:

11 réponses

Utilisateur anonyme
16 nov. 2012 à 16:13
salut,

c'est pas top de parser la sortie de 'ps' :(

pourquoi ne pas utiliser plutôt 'pidof', ou 'pgrep' ?
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
16 nov. 2012 à 16:16
hello
le script ne démarre pas ou il démarre et n'affiche rien dans /home/fichier.log ?
dans ce cas, le démarrer avec : script>>/home/log2 2>&1
0
ntrvdonett Messages postés 11 Date d'inscription vendredi 16 novembre 2012 Statut Membre Dernière intervention 27 novembre 2015
16 nov. 2012 à 16:36
Oups j'avais pas vu vos réponses.
Je ne savais pas que ps n'était pas conseillé ! Je vais regarder tes propositions
sinon le script démarre, mais il ne sort pas, car ps -aux ne donne aucun résultat.

Merci
0
ntrvdonett Messages postés 11 Date d'inscription vendredi 16 novembre 2012 Statut Membre Dernière intervention 27 novembre 2015
16 nov. 2012 à 16:50
J'ai regardé pgrep, le seul souci c'est que le processus que je surveille est lancé sous la forme :

root 2351 0.0 0.3 33720 9436 ? S 14:02 0:05 php5 /home/xx.php

du coup avec pgrep je dois faire une recherche sur php5. Il n'y aura pas, alors, de discrimination si j'ai un deuxième script php5 qui tourne!

Je ne vois pas bien comment m'en sortir ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ntrvdonett Messages postés 11 Date d'inscription vendredi 16 novembre 2012 Statut Membre Dernière intervention 27 novembre 2015
27 nov. 2012 à 11:04
Bonjour,

Je ne trouve pas de solution à mon problème. Est-ce que quelqu'un pourrait m'orienter sur le fait que ps ne sorte aucune résultat quand il est dans l'environnement d'init ?

Merci
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
27 nov. 2012 à 14:58
dans le script, vérifier ce que trouve ps
ps axuf >> /tmp/log
0
ntrvdonett Messages postés 11 Date d'inscription vendredi 16 novembre 2012 Statut Membre Dernière intervention 27 novembre 2015
30 nov. 2012 à 16:39
Bonjour,

J'ai déjà fait ce test et justement je n'ai pas de sortie ??

D'où ma question. Est-ce que l'environnement y est pour quelque chose ?

Bonne soirée
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
1 déc. 2012 à 11:21
capturer les erreurs, et essayer d'autres commandes
(date; df; uname -a; ps -ef; date)>> /tmp/log 2>&1
0
cocoche95 Messages postés 1134 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 27 novembre 2019 543
Modifié par cocoche95 le 1/12/2012 à 11:30
Slt,

Tu as vérifié que lors du lancement de ton script par rc.locale, ton script php est déjà lancé ?
Ou quel est l'ordre de lancement de tes scripts par ton système ?

De plus, caymal de lancer un script php avec le user root ...
0
ntrvdonett Messages postés 11 Date d'inscription vendredi 16 novembre 2012 Statut Membre Dernière intervention 27 novembre 2015
6 déc. 2012 à 09:00
Bon je ne vois pas, tant pis !
"C'est mal" de lancer un script en root, mais avec rc.local c'est difficile de faire autrement. De toute façon je laisse tombé.

Merci
0
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 306
9 déc. 2012 à 08:23
Bonjour,
Attention, ps a une syntaxe BSD et une syntaxe System V.
exemple :
ps -ef
et
ps aux

On ne met pas le tiret lorsqu'on utilise l'option "aux".

Bien cordialement.
Jonas.

0