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

C Discussion :

lancer une application depuis un hook


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 41
    Par défaut lancer une application depuis un hook
    Bonjour,

    Je rencontre mes limites, alors un peu d'aide ne serait du luxe.

    Je charge une lib en LD_PRELOAD sur un système embarqué et je souhaite lancer une application en parallèle dans une fonction hookée.

    Comment faire pour y arriver, que l'application ne soit plus dépendante de l'application parente et que les deux puissent fonctionner en parallèle.

    Merci de me proposer un squelette de fonction pour faire cela.
    Pour l'instant, toutes mes tentatives n'aboutissent pas (execve, exec, system, clone, fork, vfork ...).

    Je dois sans doute mal m'y prendre et je n'ai pas de code d'exemple à quoi me raccrocher.

    Merci pour votre aide.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    que vient faire la librairie là-dedans ?

    Tu as un programme, et tu veux lancer un programme en // ?

    Tu es sous que OS ?

    Sous unixoides, il suffit d'ajouter un "&" à la fin de la commande envoyée avec system()

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    status = system("..(chemin)/programme.exe &");

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 41
    Par défaut
    On reprend plus lentement alors :

    au lancement du système, je charge une lib en priorité et elle comporte des fonctions de base (open, close, ...) surchargées via DLSYM.

    PUIS, au travers du hook de ces fonctions, je décide à un moment donné de lancer une application en parallèle.

    Ce nouveau processus doit donc être indépendant de son parent, chacun ayant une vie propre et chacun pouvant s'arrêter à tout moment sans dépendance avec l'autre.

    J'ai déjà essayé les différentes façon "classiques" de lancer un processus (system, fork, clone, ...) et rien ne se lance, donc je dois louper quelque chose dans ce qui est nécessaire de faire dans une fonction hookée pour démarrer un nouveau processus, mais quoi ?
    Là je sèche.

    J'espère que ces nouvelles explications permettront de me faire aider.

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 480
    Par défaut
    Il s'agit de procéder de la même façon que si tu voulais créer un dæmon. En substance, l'acte principal consiste à démarrer une nouvelle session de processus. Voir ici :

    http://www.developpez.net/forums/d11...s/#post6126285

    Mais il y a aussi beaucoup de ménage à faire, comme expliqué derrière les liens de ce commentaire.

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par TomTom68 Voir le message
    J'espère que ces nouvelles explications permettront de me faire aider.
    Et merci de lire et respecter la signature : PAS DE MP TECHNIQUES..

    Les forums sont faits pour ça...

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 41
    Par défaut
    Merci grandement encore une fois à Obsidian toujours aussi disponible et pragmatique, j'apprécie grandement l'attitude.

    Je n'avais pas pensé à explorer cette façon de faire, je plonge là dedans et je pense effectivement aboutir ainsi.

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment lancer une application depuis un service ?
    Par bhf37 dans le forum Langage
    Réponses: 7
    Dernier message: 05/03/2009, 14h05
  2. Réponses: 3
    Dernier message: 31/08/2008, 16h33
  3. Lancer une application depuis une fenêtre gtk
    Par cyrilleG dans le forum GTK+ avec Python
    Réponses: 11
    Dernier message: 29/09/2007, 22h03
  4. Réponses: 9
    Dernier message: 11/01/2007, 21h23
  5. [VB.NET]Lancer une application depuis MonProg
    Par PM_calou dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/09/2006, 11h42

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