首页 文章
  • 4 votes
     answers
     views

    为什么't the process I start with Perl' s system()是一个子进程?

    Perl的system()启动一个进程,但打破了父/子关系? test.pl: use POSIX; system("./test.sh &"); my $pid = `ps -C test.sh -o pid=`; print "pid: -$pid-\n"; waitpid($pid, 0); test.sh: while true d...
  • 0 votes
     answers
     views

    为什么要为子进程执行else块?

    这是一个fork和waitpid的程序 . #!/usr/bin/perl use strict; use warnings; my ($childProcessID, $i); print "I AM THE ONLY PROCESS.\n"; $childProcessID = fork (); if ($childProcessID){ print ...
  • 0 votes
     answers
     views

    C - 使用fork()创建3个子进程

    我想用fork()创建3个子进程 . 这是我创建一个子进程的代码: #include <unistd.h> #include <stdio.h> #include <stdlib.h> void main(){ int pid = fork(); if(pid < 0){ /* was not successfully *...
  • 0 votes
     answers
     views

    进程等待使用linux系统调用等待

    我正在尝试使用fork系统调用创建一个进程,然后等待子进程 . 我使用了以下内容: waitpid(pid,&status,0); 1)第一个问题是状态向左移8位,例如,如果子进程返回1,则waitpid函数将状态变量中状态的值返回为256.请让我知道它为什么这样做那 . 2)根据手册,waitpid等待子进程改变状态 . 但后来它还说: “wait()系统调用暂停执行调用进程,直到其子节点之一终...
  • 0 votes
     answers
     views

    了解以非阻塞方式等待子进程的可重入父函数

    我在Linux上运行了一些C代码,其中重入,bool返回,父进程分叉子进程(当然只有一次),然后使用waitpid检查所述子进程的退出状态 . 如果子进程完成,则它返回到父进程,然后子进程退出,然后父进程看到此退出状态并返回true(然后转到其他代码) . 否则,如果子进程仍在运行,则父进程也将看到此异常并返回false,然后一次又一次地调用父进程,直到子进程完成并退出 . 换句话说,父进程使用W...
  • 2 votes
     answers
     views

    为什么在父级中fork()然后wait()?

    我知道fork(),wait(),waitpid(),zombie进程......我通过阅读W. Richard Stevens来理解它们,这是一本非常好的书 . 如果我们不在父母中调用wait(),孩子在终止后变成僵尸......这很糟糕! 如果我们在父级中调用wait(),则父级等待子级终止,接收终止状态然后继续 . 写? 我已经经历了许多调用fork()一次然后在父类中调用wait()的示例...

热门问题