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 :

createprocess équivalent unix + infos


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Par défaut createprocess équivalent unix + infos
    Bonjour,

    Je suis sur l'adaptation d'un programme de windows vers unix (solaris).
    Dans la version windows il y'a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    		if (CreateProcessW(NULL, (LPWSTR)tcarCommand, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi)) {
    			Sleep(10000); //sleep utilisé car le WaitForInputHandle ne semble pas avoir d'effet
    			switch (WaitForInputIdle(pi.hProcess, FRAME_TIMEOUT)) {
    				case 0 :
    					pContext->processId = pi.dwProcessId;
    					pContext->hProcess = pi.hProcess;
    					pContext->hThread = pi.hThread;
    dans la version unix j'ai remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    swprintf(tcarCommand,256, L"%s /progid:FrameMaker.Session-%s", tcarPath, (pContext->connectToSession ? L"Connect" : L"New"));
    		switch(pid=fork()){
    			case (pid_t)-1:
    				fprintf(stderr, "Error: Can't duplicate process (%d)\n",errno);
    				exit(-1);
    			break;
    			case (pid_t)0:
    				if(execl(tcarCommand,"FrameMaker",NULL)==-1){
    					fprintf(stderr, "Error: Can't create process '%s' (%d)\n", tcarCommand, errno);
    				}
    J'arrive donc à lancer l'application, mais comment puis (si c'est possible sous unix récupérer le handle sur le process et sur la thread? Je n'ai ici que le PID.
    merci d'avance

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Y'a pas de handle sur les process ou thread sous unix comme sous windows ce sont des PID c'est tout il me semble.

    La question est pourquoi en as-tu besoin ?

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 21
    Par défaut
    arf merde c'est bien ce que je pensais.
    C'était pour faire des opérations sur les fenêtres associés au process.
    Y aurait il moyen de récupérer ces fenêtres en passant par le PID?

Discussions similaires

  1. Réponses: 19
    Dernier message: 29/07/2008, 19h30
  2. FindWindow équivalent sous unix
    Par ouamtax dans le forum Linux
    Réponses: 5
    Dernier message: 14/01/2008, 17h28
  3. Réponses: 5
    Dernier message: 04/02/2007, 11h15
  4. [Fichier] Api équivalent du tail -f sous unix
    Par Actarus78 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 09/09/2005, 11h34

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