4 réponses
Il est peut-etre mieux de redemarrer le cron daemon pour relire le fichier
/etc/crontab. Typiquement c'est quelque chose comme ca:
/etc/rc.d/init.d/cron stop
/etc/rc.d/init.d/cron start
Souvent si on change des fichiers de config pour un daemon (autres exemples: xinetd, sshd, lpd, ...) il vaut mieux le redemarrer comme indique ci-dessus (remplacer cron par le nom du script pour ce daemon dans /etc/rc.d/init.d/). Sinon il est possible que le daemon ne tient pas compte des modifications.
Il faut aussi etre sur que le cron daemon tourne sur ta machine par default.
A verfier avec (avant de faire les deux lignes ci-dessus):
/etc/rc.d/init.d/cron status
S'il ne tourne pas tu peux le demarrer pour une fois avec la ligne avec start. Il doit y avoir un config tool graphique sur ta machine pour gerer les services (c.-a-d. les daemons) ou on peut definir que le cron-daemon demarre par default apres le boot.
/etc/crontab. Typiquement c'est quelque chose comme ca:
/etc/rc.d/init.d/cron stop
/etc/rc.d/init.d/cron start
Souvent si on change des fichiers de config pour un daemon (autres exemples: xinetd, sshd, lpd, ...) il vaut mieux le redemarrer comme indique ci-dessus (remplacer cron par le nom du script pour ce daemon dans /etc/rc.d/init.d/). Sinon il est possible que le daemon ne tient pas compte des modifications.
Il faut aussi etre sur que le cron daemon tourne sur ta machine par default.
A verfier avec (avant de faire les deux lignes ci-dessus):
/etc/rc.d/init.d/cron status
S'il ne tourne pas tu peux le demarrer pour une fois avec la ligne avec start. Il doit y avoir un config tool graphique sur ta machine pour gerer les services (c.-a-d. les daemons) ou on peut definir que le cron-daemon demarre par default apres le boot.
Salut,
Alors voilà à peu près ce que j'ai poundu comme ligne de commande dans mon cron (pour que xmule redemarre automatiquement après un plantage lorsque je ne suis pa là) :
05,10,15,20,25,30,40,45,50 * * * * ps | grep -v grep | grep -q xmule && echo "xmule is running" > /tmp/xmule.log || /usr/local/bin/xmule &
Il n'y a pas de fichier log produit (car xmule ne tourne pas ;-) ). Par contre je reçois systématiquement un mail de root (Cron Daemon) qui me dit :
(xmule:4840): Gtk-WARNING **: cannot open display:
Qu'est-ce qui est mal fait ?
D'avance merci,
Dr. Doud
Alors voilà à peu près ce que j'ai poundu comme ligne de commande dans mon cron (pour que xmule redemarre automatiquement après un plantage lorsque je ne suis pa là) :
05,10,15,20,25,30,40,45,50 * * * * ps | grep -v grep | grep -q xmule && echo "xmule is running" > /tmp/xmule.log || /usr/local/bin/xmule &
Il n'y a pas de fichier log produit (car xmule ne tourne pas ;-) ). Par contre je reçois systématiquement un mail de root (Cron Daemon) qui me dit :
(xmule:4840): Gtk-WARNING **: cannot open display:
Qu'est-ce qui est mal fait ?
D'avance merci,
Dr. Doud
bon alors on va être un peu méthodique hein.....
déjà tu mets */5 ça sera beaucoup plus propre
maintenant côté commande, on a un /usr/local/bin/xmule qui a une bonne gueule de programme X
on a par ailleurs un message dans le goût "cannot open display"
programme X... display... programme X...... display..... mais à propos.... _quel_ display?
si t'indiques pas à ton programme X s'il doit s'ouvrir sur :0.0 (par exemple) il va avoir comme un problème.
A toi de voir dans le man de xmule la syntaxe des options
déjà tu mets */5 ça sera beaucoup plus propre
maintenant côté commande, on a un /usr/local/bin/xmule qui a une bonne gueule de programme X
on a par ailleurs un message dans le goût "cannot open display"
programme X... display... programme X...... display..... mais à propos.... _quel_ display?
si t'indiques pas à ton programme X s'il doit s'ouvrir sur :0.0 (par exemple) il va avoir comme un problème.
A toi de voir dans le man de xmule la syntaxe des options
Merci Hector pour cette réponse. Je pense qu'un script de ce genre pourrait solutionner le problème :
#!/bin/bash
export DISPLAY=:0.0
/usr/local/bin/xmule &
Il y a un man de xmule ???!!! Jamais entendu parler.
# man xmule
Il n'y a pas de page de manuel pour xmule.
# xmule --help
lance une autre instance de xmule
Dr. Doud
#!/bin/bash
export DISPLAY=:0.0
/usr/local/bin/xmule &
Il y a un man de xmule ???!!! Jamais entendu parler.
# man xmule
Il n'y a pas de page de manuel pour xmule.
# xmule --help
lance une autre instance de xmule
Dr. Doud
Ben non ! Pourquoi ?
Ah ben je suis désolé ; je ne savais pas.
Mah on va dire que comme ça les utilsateurs savent désormais que l'utilisateur qui lance les commandes du cron (root ?) ne connais pas forcément les variables d'environnement comme DISPLAY par exemple.
En tous cas, je te remercie pour ton aide Hector, et je présente mes plus pates excuses au posteur initial.
Dr. Doud
Mah on va dire que comme ça les utilsateurs savent désormais que l'utilisateur qui lance les commandes du cron (root ?) ne connais pas forcément les variables d'environnement comme DISPLAY par exemple.
En tous cas, je te remercie pour ton aide Hector, et je présente mes plus pates excuses au posteur initial.
Dr. Doud
non c'est pas root
c'est l'utilisateur dans le crontab duquel est la commande
$DISPLAY n'est pas exporté vers les autres environnements que celui dans lequel X tourne effectivement. Bref, normalement, faut être sous X pour qu'elle soit définie.
Donc dans un autre environnement, tu dois d'abord la fournir a la mano avant d'invoquer n'importe quelle application X (ou passer à l'application la bonne option, souvent elles admettent un -display=machinbidule ou -d ou --display)
c'est l'utilisateur dans le crontab duquel est la commande
$DISPLAY n'est pas exporté vers les autres environnements que celui dans lequel X tourne effectivement. Bref, normalement, faut être sous X pour qu'elle soit définie.
Donc dans un autre environnement, tu dois d'abord la fournir a la mano avant d'invoquer n'importe quelle application X (ou passer à l'application la bonne option, souvent elles admettent un -display=machinbidule ou -d ou --display)