82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
1

Создать новый процесс из дочернего

03.06.2013, 20:32. Показов 759. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток. В общем, в чём проблема: имеется программа, которая создаёт процессы вызовом fork, и затем процессу ребёнку передаётся управление другой программой, посредством execlp, и этот ребёнок, создаёт ещё свои процессы, в зависимости от того, какой уровень вложенности задан(определяется при запуске программы) вот кусок кода который отвечает за это:
C
1
2
3
4
5
6
7
//parent
    for(i=0;i<n;i++)
    {
        pid[i]=fork();
        if (pid[i]==0)
            printf("%d\n",execlp("/home/skorik/procces/child",argv[2],NULL));
    }
C
1
2
3
4
5
6
7
8
9
10
11
12
13
//child
int main(int argc, char **argv)
{
    sscanf(argv[0],"%d",&level);
    //printf("I'm CHILD, my PID = %d. Is my parent PID = %d\n",getpid(),getppid());
    if (level>1)
    {
        char s[20];
        sprintf(s,"%d",level-1);
        pid=fork();
        if (pid==0) 
            execlp("/home/skorik/procces/child",s,NULL);
    }
В итоге получается такое дерево
parent->
111->112->113
121->122->123
211->212->213
если задать уровень вложенности 3.
Мой вопрос: как например создать ещё один дочерний процесс для номера 213?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2013, 20:32
Ответы с готовыми решениями:

Процесс не дожидается выполнения дочернего
# include &lt;stdio.h&gt; # include &lt;unistd.h&gt; int main () { char s ; int fd ; if (pipe (fd) &lt;0) ...

Родительский и дочерний процесс: почему запуск начинается сразу с дочернего процесса?
Родительский процесс должен считать содержимое текстового файла и передать его дочернему процессу....

По таймеру запускать новый процесс
Как по таймеру автоматически должен появляться новый процесс?? Допустим у меня идет таймер через...

Передача данных в новый процесс
Запускаю процесс из основной программы Process.Start(). Как задать из основной программы значения...

0
03.06.2013, 20:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2013, 20:32
Помогаю со студенческими работами здесь

Создать дочернее окно дочернего окна
Проблема такая. Нужно создать дочернее окно дочернего окна. Вот тут создается одно дочернее окно...

Новое окно, новый процесс проводника
увидел, что можно открыть проводник, как в новом окне, так и в новом процессе. для чего это? в...

Как изменить текст на форме из дочернего потока, когда в основном потоке ожидается завершение дочернего
Идея следующая. в основном потоке вызывают метод класса в другом потоке. Причем необходимо: 1....

Создать событие для дочернего элемента tabPage
Граждане-товарищи, обращаюсь к вам вот с какой проблемой: Есть tabControl, есть возможность...

Как определить самый новый процесс и завершить его?
привет. не подскажете как завершить самый новый процесс, необходимо сделать ч/з kill -9 может с...

Автоматизировать процесс создания новых листов, где каждый новый является копией первого
Есть экселевская таблица, на первом листе есть шесть столбцов, название, интернет ссылка, +4...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru