98 votes

Comment obtenir un processus enfant à partir d'un processus parent

Est-il possible d'obtenir l'id du processus enfant à partir de l'id du processus parent dans le shell script ?

J'ai un fichier à exécuter en utilisant le shell script, ce qui conduit à un nouveau processus processus1 (processus parent). Ce site processus1 a bifurqué vers un autre processus processus2 (processus enfant). En utilisant script, je suis capable d'obtenir le pid de processus1 en utilisant la commande :

cat /path/of/file/to/be/executed

mais je ne parviens pas à récupérer le pid du processus enfant.

-3voto

user7329527 Points 9
#include<stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
    // Create a child process     
    int pid = fork();

    if (pid > 0)
    {

            int j=getpid();

            printf("in parent process %d\n",j);
    }
    // Note that pid is 0 in child process
    // and negative if fork() fails
    else if (pid == 0)
    {

            int i=getppid();
            printf("Before sleep %d\n",i);

            sleep(5);
            int k=getppid();

            printf("in child process %d\n",k);
    }

    return 0;

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X