2014-11-09 6 views
-2

Сколько proccesses создано с этими функциями fork?Сколько процессов, с функциями вилки?

int main(){ 
    c2=0; 
    c1=fork(); 
    if(c1==0) 
     c2=fork(); 
    fork(); 
    if(c2>0) 
    fork(); 
} 

На этом сайте я видел перед вопросами связанные функции fork, но это другое. Здесь мы имеем c1, c2, что означают эти переменные?

+2

Почему бы просто не попробовать? –

+0

Я пробовал вот почему я спросил. – user119949

+0

Почему минус - ?? Я тебя не понимаю. Незнание - это преступление? – user119949

ответ

1

То, как вам нужно подойти к этой проблеме, - это вытащить дерево. Сочетание вызовов fork() создаст дерево процессов с родительскими/дочерними отношениями.

Вы должны учесть, что fork() возвращает PID в родительском процессе и 0 в дочернем процессе. Где у вас есть

if (cm > 0) 
    ford() ; 

будет выполнен только в родительском процессе.

if (cn == 0) 
     fork() ; 

будет выполнен только в процессе ребенка.

Смежные вопросы