relancer une application qui plante sous debian

relancer une application qui plante sous debian - Divers - Linux et OS Alternatifs

Marsh Posté le 01-10-2008 à 21:01:47    

Bonjour, je suis sous Debian (testing) et j'utilise un logiciel qui a la facheuse tendance à planter quand je ne suis pas là.
je cherche donc un moyen de relancer automatiquement un processus qui ce ferme...  quelqu'un aurait une idée?

Reply

Marsh Posté le 01-10-2008 à 21:01:47   

Reply

Marsh Posté le 01-10-2008 à 21:07:39    

Si le processus en question ne passe pas en arrière plan, tu peux faire un truc comme ça :

while :; do ton_appli; done

Reply

Marsh Posté le 01-10-2008 à 21:16:06    

#!/bin/sh

 

ps auxw | grep -v grep | grep $1 > /dev/null || $2

 

$1 étant le nom du daemon
$2 étant le chemin vert le daemon à relancer.

 

Le tout dans un cron lancé toutes les x minutes selon tes besoins.
(Et n'oublie pas de rendre le .sh exécutable avant tout...)

Message cité 1 fois
Message édité par anapivirtua le 01-10-2008 à 21:17:43

---------------
Si vis pacem, para bellum.
Reply

Marsh Posté le 01-10-2008 à 21:26:01    

thetylerdurden a écrit :

Bonjour, je suis sous Debian (testing) et j'utilise un logiciel qui a la facheuse tendance à planter quand je ne suis pas là.
je cherche donc un moyen de relancer automatiquement un processus qui ce ferme...  quelqu'un aurait une idée?


 
Si tu cherchais a savoir pourquoi ton application plantait d'abord ?
 
Il se peut qu'a chaque plantage ton appli donne naissance a des processus orphelins qui satureront tes ressources a un instant donné

Reply

Marsh Posté le 01-10-2008 à 21:57:34    

anapivirtua a écrit :

#!/bin/sh
 
ps auxw | grep -v grep | grep $1 > /dev/null || $2


 
$1 étant le nom du daemon
$2 étant le chemin vert le daemon à relancer.
 
Le tout dans un cron lancé toutes les x minutes selon tes besoins.
(Et n'oublie pas de rendre le .sh exécutable avant tout...)


 
J'aurais dû préciser que je suis un peu novice et que , si j'utilise des commandes de base de temps en temps, je n'ai jamais fait de script et de truc de ce genre pour le moment (mais ça viendra).  
 
Toute fois, cette réponse m'interresse beaucoup, aussi j'aimerai avoir quelques precision si possible:
 
Si j'ai bien compris, je dois fait un fichier texte avec ce script (dont je n'ai pas compris la composition) et je change l'extension de ce dernier pour ".sh". Mais par contre je ne sais pas comment en faire un executable ni un cron? (d'ailleurs, il y a 5 minutes, je savais même pas ce qu'était un cron!)

Reply

Marsh Posté le 01-10-2008 à 22:05:09    

kariim a écrit :


 
Si tu cherchais a savoir pourquoi ton application plantait d'abord ?
 
Il se peut qu'a chaque plantage ton appli donne naissance a des processus orphelins qui satureront tes ressources a un instant donné


 
En l'occurrence vu son post précèdent clôturé pour hors charte, ce n'est pas le cas.


---------------
Si vis pacem, para bellum.
Reply

Marsh Posté le 01-10-2008 à 22:11:08    

thetylerdurden a écrit :


 
J'aurais dû préciser que je suis un peu novice et que , si j'utilise des commandes de base de temps en temps, je n'ai jamais fait de script et de truc de ce genre pour le moment (mais ça viendra).  
 
Toute fois, cette réponse m'interresse beaucoup, aussi j'aimerai avoir quelques precision si possible:
 
Si j'ai bien compris, je dois fait un fichier texte avec ce script (dont je n'ai pas compris la composition) et je change l'extension de ce dernier pour ".sh". Mais par contre je ne sais pas comment en faire un executable ni un cron? (d'ailleurs, il y a 5 minutes, je savais même pas ce qu'était un cron!)


 
Tu dois en effet copier ce script et créer un fichier, tu l'enregistres en "recup.sh" par exemple en éditant les variables 1 et 2 avant.
 
Ensuite tu fais un:
 

chmod 700 /home/chemin/chemin/recup.sh


 
par exemple...
 
et tu finis par un  
 

crontab -e


 
ou tu ajoutes un
 

*/15 * * * * /home/chemin/chemin/recup.sh > /dev/null 2>&1


 
dans le cas ou tu souhaites exécuter le script toutes les 15 minutes.
 
Au passage, une recherche google t'aurais donné un script prêt à l'utilisation en moins de 2 minutes.


---------------
Si vis pacem, para bellum.
Reply

Marsh Posté le 01-10-2008 à 22:21:29    

Avec le nom du programme ça irait plus vite, ça nous permettrait de mieux t'aider.


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 01-10-2008 à 22:34:58    

Fork Bomb a écrit :

Avec le nom du programme ça irait plus vite, ça nous permettrait de mieux t'aider.


 
si j'avais dit le nom du programme comme je l'ai fait dans mon topic précédent, la discussion aurait été clause avant que quelqu'un n'ai pu répondre...
 

anapivirtua a écrit :


 
Tu dois en effet copier ce script et créer un fichier, tu l'enregistres en "recup.sh" par exemple en éditant les variables 1 et 2 avant.
 
Ensuite tu fais un:
 

chmod 700 /home/chemin/chemin/recup.sh


 
par exemple...
 
et tu finis par un  
 

crontab -e


 
ou tu ajoutes un
 

*/15 * * * * /home/chemin/chemin/recup.sh > /dev/null 2>&1


 
dans le cas ou tu souhaites exécuter le script toutes les 15 minutes.
 
Au passage, une recherche google t'aurais donné un script prêt à l'utilisation en moins de 2 minutes.


 
 
Désolé mais le probléme avec google c'est que je trouve jamais les bons mots pour le faire tilter et ça m'exaspére vite...
Merci pour ces précisions, je vais essayer ce soir et je vous en dirais des nouvelles... @++

Reply

Marsh Posté le 01-10-2008 à 23:20:57    

si tu arretais d'utiliser ce logiciel , tu n'aurais plus de probleme aussi  :D

Reply

Marsh Posté le 01-10-2008 à 23:20:57   

Reply

Marsh Posté le 02-10-2008 à 09:38:27    

Salut tout le monde,  
 
Alors le fichier recup.sh fonctionne bien quand je le lance dans une shell, mais par contre le cron ne fonctionne pas apparement. Je vais essayer de voir d'où ça vient ce soir...
 
(que veux dire le "2>&1" à la fin du crontab?)

Reply

Marsh Posté le 02-10-2008 à 12:28:08    

Ca veut dire "envoie stderr sur stdout". Comme stdout a été redirigé vers /dev/null, tout va sur /dev/null.

Reply

Marsh Posté le 03-10-2008 à 00:34:05    

Je comprends pas ce qui ne marche pas... J'ai bien écrit la ligne comme il faut dans Crontab et pourtant Cron ne semble pas la prendre en compte, du moins, en tout cas, le script ne se lance pas automatiquement...

Reply

Marsh Posté le 03-10-2008 à 03:46:37    

thetylerdurden a écrit :

Je comprends pas ce qui ne marche pas... J'ai bien écrit la ligne comme il faut dans Crontab et pourtant Cron ne semble pas la prendre en compte, du moins, en tout cas, le script ne se lance pas automatiquement...


Tu veut dire que quand ca plante, ca ne se relance pas ? Que ton logiciel ne se lance pas ?
Si c'est le cas, as tu bien mis le chemin vers le fichier ? ou as-tu betement recopie les lignes fournies ?


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 03-10-2008 à 10:06:36    

Oui j'ai bien mis le chemin vers mon fichier recup.sh qui est sur mon bureau et qui est executable...
J'ai aussi essayer en modifiant le "*/15" par "*/1" pour pouvoir voir plus vite si le Cron fonctionne. ensuite, j'ai essayé de remplaçer le chemin de mon récup.sh par celui d'autre application (amsn -> /usr/bin/amsn) pour voir si il la lancerai toute les minutes, mais, dans tout les cas, il n'a jamais rien lancer (ou alors il l'a caché?). J'ai essayé chacune de ces étapes en faisant le Crontab -e en tant qu'utilisateur puis en tant que SU, sans succés. J'ai essayé en redémarrant l'ordinateur (inutile normalement non?) et aussi en relançant Cron (pkill cron puis cron en tant que SU) et c'est pareil. J'ai aussi essayé crontab -l pour vérifier si il y avait bien les lignes éditées et  c'est bien le cas...

Citation :

tyler-durden@MAYHEM:~$ crontab -l
# m h  dom mon dow   command
*/1 * * * * /home/tyler-durden/Desktop/cronamule.sh > /dev/null 2>&1


 
(cronamule.sh est le nom que j'ai donné à mon recup.sh)

Message cité 1 fois
Message édité par thetylerdurden le 03-10-2008 à 10:20:36
Reply

Marsh Posté le 03-10-2008 à 23:45:08    

up

Reply

Marsh Posté le 04-10-2008 à 00:18:09    

thetylerdurden a écrit :


 
(cronXXXXX.sh est le nom que j'ai donné à mon recup.sh)


 
 :lol:  :lol:


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
Reply

Marsh Posté le 04-10-2008 à 08:50:41    

Bon... on va arrêter l'hypocrisie ici...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed