waitpid

    -2热度

    2回答

    我想创建一个子进程运行linux命令的shell(在execvp的帮助下),比如“ls”等。我也希望能够运行带有诸如“ls -a“或”ls -l/tmp“父母必须等待孩子用”waitpid“执行给定的命令。 当我试图用“ls -a”运行shell时,它将它作为2个单独的命令。输出:LS $ -a $ #include "stdio.h" #include "unistd.h" #include

    -1热度

    1回答

    他是交易: 我有n fork,在叉我有exec,一切都连接pipe。 我的问题: 如果有些孩子做exit()我想close他的pipe能够阅读。 - 这个怎么做? waitpid函数最有可能的...... 现在我等一样,所有子: for(i = 0; i< val; i++) { wait(&status); close(fd[i][1]);

    2热度

    1回答

    我试图衡量内存通过使用getrusage系统调用所使用的子进程用下面的代码 #include <iostream> using std::cout; using std::endl; #include <unistd.h> #include <thread> #include <chrono> #include <sys/wait.h> #include <sys/time.h>

    1热度

    1回答

    一个内存位置由三个进程共享。每个进程独立地尝试将共享内存位置的内容从1增加到某个值,增量为1。进程1的目标是100000,进程2的目标是200000,目标3是300000.因此,当程序终止时,共享内存变量将总共有600000个(即,这个值将由三个进程中的任何一个最后完成)。我将使用信号量来保护关键部分。 我的问题是,我在初始化信号时遇到了每个进程的SETVAL问题。它使即使我有它设置为1,正确的样

    0热度

    1回答

    说我在子进程和父进程之间创建一个管道,子进程正常结束,子进程的管道是否会自动关闭? 此外,如果子进程也有一个子进程,并且子进程以分段错误结束,它是否也会终止我的孙子进程?我的意思是从流程表中删除它(我不需要等待它)。 编辑: 例如,对于下面的代码,我在子进程中生成一个分段错误,并尝试在父进程中等待它。运行程序后,waitpid返回-1,但是当我检查WIFEXITED(状态)时,看起来像子进程程序正

    0热度

    1回答

    我编码一个简单的Linux壳C. 有时用叉子,然后执行无阻塞命令时 - 我的下一个printf消失。我猜这是因为子进程正在写入stdout。 如果我使用waitpid就没有问题 - 因为我的下一个printf只会在子进程终止后打印。有时用户需要执行非阻塞命令 - 然后我不会使用waitpid - 然后我的下一个printf将消失。 如果我使用sleep(1)它也解决了这个问题。但我想知道是否有一种

    1热度

    2回答

    我试图使我的进程waitpid()为子进程,但也打印每隔一段时间的东西。 我目前的计划是安排一个itimer,waitpid(),处理SIGALRM印刷,并停止该计时器waitpid()完成时。 我无法弄清楚的唯一部分是阻止SIGALRM中断waitpid()。 我查看了man页面,没有看到任何标志。 想法?

    0热度

    1回答

    我有一些麻烦得到waitpid工作有人请解释这个代码有什么问题吗? #include <iostream> #include <sys/wait.h> #include <unistd.h> using namespace std; int main() { string filename_memory; decltype(fork()) pid; if

    1热度

    2回答

    我正在使用一个Perl脚本,它使用 waitpid($pid, 0)等待当前进程完成。 但是print在此之后编写的陈述waitpid在过程完成之前正在打印它。 我想知道为什么waitpid不是先等待流程完成。 此外,运行过程的控制是在不同的模块下,而不是这个perl脚本的一部分。只能访问进程的pid和名称。我无法更改调用该过程的模块中的任何内容。

    3热度

    2回答

    我会通过系统调用wait4()的文件,并在其手册页上写着 这些功能已过时;在新程序中使用waitpid(2)或waitid(2)。 所以,我通过了waitpid()的文档,我看到两者之间有区别。 waitpid()做同样的事情wait4(),但wait4(),根据手册页, 还通过rusage返回有关在结构中的子资源使用信息指向。 两个系统调用的定义如下 pid_t wait4(pid_t pid,