IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement OS X Discussion :

[DEV] developper un deamon sous mac


Sujet :

Développement OS X

  1. #1
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut [DEV] developper un deamon sous mac
    Bonjour à tous,
    J'ai developper une petite application pour Linux et mac OS, j'ai fait mon code en sorte que celui ci demarre comme un daemon .
    est ce que quelqu'un sait comment cela ce passe pour Mac ?

    je travaille avec c++ et wxwidgets.
    cordialement
    jérémy
    Rien ne se perd, rien ne se crée, tout se transforme

    ------- -------

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    733
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    Mac os X utilise launchd pour gérer les daemon. Si tu regarde dans /libraries/daemons, tu verras les fichiers de configuration en .plist.

    Il y a de la doc sur les daemon dans la documentation d'apple.

  3. #3
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Salut,
    je n'ai pas encore eu le temps d'explorer en détail ce bouquin, mais je l'ai acheté, il a l'air plutôt bien. Il rentre pas mal dans les détails de launchd. Mais je n'ai pas encore d'avis.

    Par contre je te déconseil "Learning Unix for Mac OS X Tiger" qui est vraiment trop superficiel.

    Pourquoi ne lance tu pas ton code avec & pour le mettre en arrière plan? tout simplement (c'est put être un connerie que je te dis?)
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  4. #4
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    Salut,
    Pourquoi ne lance tu pas ton code avec & pour le mettre en arrière plan?
    Non ce n'est pas une "connerie" seulement je veux dans un 1er temps que l'icone de l'application n'apparaisse pas dans le dock et ensuite je fait demarrer mon application avec un applet java ( de mon naviguateur ) qui reste l'application mère tant que je ne l'ai pas fermer or tout ce que je renvoi sur la sorti standart avec mon application bloque le processus mere donc le java , donc je suis obligé de faire tourné en daemon.
    Rien ne se perd, rien ne se crée, tout se transforme

    ------- -------

  5. #5
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    Alors j'ai essayer de lancer mon application avec launchd
    -> launchd -d .../monApp
    Mais lorsque je veux l'utiliser l'appli ce crash!
    Rien ne se perd, rien ne se crée, tout se transforme

    ------- -------

  6. #6
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Tu as developper ton code en quoi?
    As tu essayé de lancer une autre application "standard" depuis ton code JAVA? est ce que cela plante?

    Sinon je ne suis pas un expert en la matière. Mais le truc m'interesse.

    Bon courage

    PS:Est ce indiscret de te demande à quoi servira ton appli?
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  7. #7
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    Ok alors oublions le java pour le moment on y reviendra plus tard.
    Mon application est ecrit en c++ et j'utilise notament la librairie wxwidgets .
    Il sagit d'un serveur http qui lorsqu'il recoi un parametre bien défini affiche une fenetre qui fait quelconques traitements.
    =>> il faut que l'application soit la plus transparente possible d'ou l'icone qui ne doit pas etre apparente dans le dock ensuite pour des raisons techniques l'appli ne doit rien ecrire sur la sorti standart ou cela bloquerai le processus mere ( le java ).

    j'essai de faire quelque chose de cross platform, j'ai repri le code developpé sous linux mais il semblerai que ca soit différent pour faire un daemonize sous mac !
    Rien ne se perd, rien ne se crée, tout se transforme

    ------- -------

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    733
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    un peu de documentation sur launchd et les daemons sur mac os X:
    http://developer.apple.com/macosx/launchd.html
    http://developer.apple.com/documenta...tup/index.html

  9. #9
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    oui j'ai deja lu ca! alors j'ai essayé avec launchd mais l'appli plante a mon avis quand je demarre l'interface graphique.
    j'ai egalement demarrer le programme dans le repertoire ~/Library/LaunchAgents alors cette fois ci tout ce passe comme je veux mais l'interface reste bloqué
    Alors j'ai fait un repertoire .app mais bon non si on le place ds le repertoire LaunchAgents ca ne fonctionne plus
    Rien ne se perd, rien ne se crée, tout se transforme

    ------- -------

  10. #10
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    J'ai peut être une petite idée (mais sans garantie).
    OS X tourne l'interface graphique Aqua qui est vraiment spécifique. Je pense que tu devrais déjà essayer de voir comment lancer une application qui utilise Aqua avant même d'essayer de la lancer en tant que deamon.
    Peut être que tu as déjà essayé. Quel résultat as tu obtenu?

    Une autre porte peut être déjà ouverte. As tu posé la question sur les forum suivant. Les gars y sont surment plus au fait:
    http://www.xrings.net
    http://www.macosxhints.com
    Malheureusement je n'ai pas encore développé en natif Aqua, mais j'imagine que ceci est une piste.

    Je te souhaite bonne chance
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  11. #11
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 936
    Points : 4 356
    Points
    4 356
    Par défaut
    Citation Envoyé par Jérémy Lefevre Voir le message
    o… l'appli plante a mon avis quand je demarre l'interface graphique.

    le crash log devrait être plus explicite…

    de toute façon daemon et interface graphique ne font pas bon ménage :
    un daemon dans le pur style Unix pourrait être lancé sous un compte sans connection au Window Server et dès lors ne pourra fonctionner…

  12. #12
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    de toute façon daemon et interface graphique ne font pas bon ménage :
    un daemon dans le pur style Unix pourrait être lancé sous un compte sans connection au Window Server et dès lors ne pourra fonctionner…
    Entierement d'accord mais on peut triché en utilisant les quelque failles! sous mac ca a l'air un peu plus strict que sur linux !
    les logs m'indiquent que c'est l'interface qui me fait planté le daemon.

    Je vais le faire tourné en console et faire autrement ! merci pour votre aide
    Rien ne se perd, rien ne se crée, tout se transforme

    ------- -------

Discussions similaires

  1. [DEV] Développement d'application sous Mac
    Par Minos2 dans le forum Apple
    Réponses: 4
    Dernier message: 12/01/2009, 12h27
  2. [DEV] Comment installer RealBasic sous mac
    Par Cazaux-Moutou-Philippe dans le forum Développement OS X
    Réponses: 1
    Dernier message: 25/11/2007, 00h03
  3. [DEV] Problème compilation BlueZ sous Mac OS
    Par innosang dans le forum Apple
    Réponses: 12
    Dernier message: 03/11/2007, 01h58
  4. Réponses: 13
    Dernier message: 11/10/2007, 09h46
  5. [DEV] Compilation sous Mac OS
    Par RIPS78 dans le forum Apple
    Réponses: 7
    Dernier message: 05/10/2007, 02h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo