Grupy procesów w linux

0

Witam,

Co chce?

  1. Wszystkie dzieci musza należeć do tej samej grupy procesów. Liderem grupy ma byc rodzic.

Jak to zrobić ? byłbym wdzięczny za jakaś próbkę kodu ponieważ czytam dokumentacje i nie wiem jak się za to zabrać... Próbowałem coś z setsid ale nie przynośi to skutku.

To mam do tej pory:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>



int main(int argc, char *argv[])
{
  int i ; 
  pid_t pid; 

  int val;
  char *endptr;  
  

   val = atoi(argv[1]);


   if(setsid() == -1)
   {
	perror("setsid");
   }

   for(i = 0; i < val; i++)
   {
	pid = fork(); 
	if(pid < 0)
	{
		perror("Fork");		
        }
        else if(pid==0)
	{
	    int ret; 
		
	    /* Child process */
	    printf("child process");	
 	    ret = execl("program1","program1", "145",NULL); //  I run my second program 
	    if(ret == -1)	
	    	perror("Execl");
	
	}
	else{
		wait(NULL); 
	}
   } 
}
1

Hmm, setpgid(0, 0) zamiast setsid() powinno wystarczyć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1