Задача такая: Родительский процесс создает n дочерних процессов и передает им поочередно числа из последовательности от 1...m.Дочерний процесс при создании принимает имя файла. При работе дочерний процесс получает числа от родительского процесса и пишет их в файл.
Не совсем понимаю как работает execve, Пытаюсь передать имя файла, но не получается.
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
int main (void) {
int n;
int i=0;
int status;
char c;
printf("Сколько дочерних процессов создать?\n");
scanf("%d", &n);
pid_t p;
for(i=0;i<n;i++)
{
if (fork( ) != 0)
{
waitpid(-1, &status, 0);
}
else
{
char * program = "/home/user/file";
char * argv[] = {"/home/user/file","aux", NULL};
char * envp[] = {NULL};
int ret;
ret = execve(program, argv, envp);
exit(0);
}
}
}