Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/07/2007, 10h45   #1
Invité de passage
 
Développeur informatique
Inscription : juin 2007
Messages : 46
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2007
Messages : 46
Points : 1
Points : 1
Envoyer un message via MSN à Info_76 Envoyer un message via Yahoo à Info_76
Par défaut Transformer un programme en démon

Salut à tous ; je souhaite pouvoir lancer au boot de mon système fedora un programme écrit en java.

typiquement je lance dans le terminal comme suite: java monprogramme
et ça marche.

Maintenent je souhaiterais l'automatisée de façon qu'au démarrage du système il se lance automatiquement un peu comme un daemon.

J'ai lu quelques tutos sur le net mais jusqu'ici rien de bien précis ; j'ai eu un exemple sur ce site que j'ai testé mais ça ne marche toujours pas.

Si quelqu'un sait comment s'y prendre je suis preneur.

ps: mon programme java est une application client/serveur: c'est un serveur qui attend en continu qu'un client se connecte donc j'ai une boucle infinie dans mon programme je tiens à le signaler car lorsque je l'ai fait une fois le programme a bien démarrer au boot système mais du fait de la boucle infinie le système n'a pas pu démarrer les autres daemons qui venaient après.

Voilà j'espère avoir été suffisament clair

Merci à tous
Info_76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 13h12   #2
Membre chevronné
 
Avatar de valefor
 
Inscription : décembre 2006
Messages : 689
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 689
Points : 666
Points : 666
Citation:
le programme a bien démarrer au boot système mais du fait de la boucle infinie le système n'a pas pu démarrer les autres daemons qui venaient après
Essai de mettre un esperluette (&) à la fin de ta ligne de commande, cela a pour effet de lancer le process en background.
valefor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 15h56   #3
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 8 743
Détails du profil
Informations personnelles :
Âge : 54

Informations forums :
Inscription : janvier 2007
Messages : 8 743
Points : 9 978
Points : 9 978
pour un vrai démon il faut le mettre dans crontab ... cela le redémarre automatiquement (respawn) dès que le système reboot, qu'il y a un crash, etc etc...

L'éperluette (&) le met en tache de fond DANS LE PROCESSUS EN COURS (exemple dans un shell)...
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 14h07   #4
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 496
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 496
Points : 9 677
Points : 9 677
Bonjour,

Citation:
Envoyé par souviron34
pour un vrai démon il faut le mettre dans crontab ... cela le redémarre automatiquement (respawn) dès que le système reboot, qu'il y a un crash, etc etc...
NON !!!

Le fait d'ajouter une entrée dans la crontab permet uniquement de lancer une tâche de manière périodique.
En cas d'arret, de redémarrage, ... la crontab ne démarre rien du tout.


Il n'existe quasiment que deux solutions pour démoniser un processus :
  1. Le modifier pour qu'il se démonise (c'est à dire que lorsque tu lances le programme, il se duplique, puis tue le père)
  2. Le lancer via la commande nohup (attention, cela nécessite de mettre la commande à lancer en chemin absolu :
    Code :
    nohup java mon_truc_java &

Ensuite, pour lancer ceci au démarrage, il faut le mettre parmi les scripts qui seront éxécutés au démarrage (/etc/rcX.d par exmeple).

Au fait, n'oublie pas de faire un script qui permet d'arréter proprement le serveur, et le mettre dans les répertoires d'arret.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 14h43   #5
Membre chevronné
 
Avatar de valefor
 
Inscription : décembre 2006
Messages : 689
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 689
Points : 666
Points : 666
Il ne voulait pas parler du inittab ?
valefor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 16h08   #6
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 8 743
Détails du profil
Informations personnelles :
Âge : 54

Informations forums :
Inscription : janvier 2007
Messages : 8 743
Points : 9 978
Points : 9 978
Citation:
Envoyé par valefor
Il ne voulait pas parler du inittab ?
t'as raison
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h44.


 
 
 
 
Partenaires

Hébergement Web