fork相关内容

如何从子进程中获取返回值?

程序计算从1到N的数字总和。 子进程计算偶数的和。 父进程计算奇数的和。 我想获取子进程在父进程中的返回值。我该怎么做 #include #include #include #include #include int main() { int N; int id; int ..
发布时间:2022-08-06 15:27:26 服务器开发

对于execl,dup2()是否必需

使用管道时是否需要将stdin替换为pipe结尾? 我有一个应用程序:- 创建管道, 派生一个子进程,然后 execl()新子进程中的新进程映像, 但我遇到了两个概念性问题。 是否需要用dup()或dup2()替换stdin?显然,只使用管道中的fd会更容易。(我不需要对此有什么了解) 如果您只能使用管道中的fd,当execl采用char *参数时,如何使用exe ..
发布时间:2022-07-02 10:56:56 其他开发

程序在管道上卡住(EXEC%ls grep排序)

我正在尝试编写一个程序,该程序执行以下命令,使用管道并接受两个参数DIR(目录)和arg(文件类型,示例:jpg),将一个命令的输出连接到下一个命令的输入。 ls目录-Lar|grep参数|排序 代码如下: int main(int argc, char *argv[]) { if (argc != 3) { printf("Invalid argume ..
发布时间:2022-06-30 22:24:27 服务器开发

Linux中fork()调用的源在哪里?

我花了相当长的时间试图找到fork()函数的源代码。我知道fork()完成的大部分工作都是由do_fork()完成的,这可以在kernel/fork.c中找到。但是,我希望看到的是fork()函数的源代码。 你知道在哪里可以找到它吗?我翻了GCC和LINUX的源码,还是没找到。 编辑:我正在尝试找到我的系统正在使用的确切实现。正如在注释和Link中提到的,它显然位于glibc的某个包装 ..
发布时间:2022-06-30 22:20:41 服务器开发

为什么调用Main两次?

我刚刚了解了fork,根据我的理解,子进程从对fork的调用开始执行(否则fork将是递归的?)。 然而,在此代码中(ideone link): int main() { printf("%d: Common code1 ", getpid()); if (fork() != 0) { printf("%d: Parent code ", getpid()); } ..
发布时间:2022-06-30 22:15:20 其他开发

使用Python的Matplotlib绘制C++程序中生成的数据

我目前正在使用Qt开发一个C++应用程序,我必须绘制一些由C++生成的数据(矢量场、时间信号相关矩阵等)。我发现来自Python的Matplotlib相当不错,这就是为什么我想将数据从C++程序传递给Python函数,该函数将执行绘图。问题是对Python函数的调用阻塞了,例如它停止了Qt GUI。目前,我通过派生一个新进程并从子进程调用Python函数来解决此问题。 我的问题是,是否有更有 ..
发布时间:2022-03-13 11:32:20 C/C++开发

派生后从子进程分离gdb-是否禁用?

在gdb中获取此消息。我知道这不是什么错误。我还做了分页,所以这不是问题。 有什么方法可以取消显示此邮件吗? 推荐答案 我很好奇这个问题没有得到回答. 我拿到了GDB manual,上面写着(PDF‘第九版,适用于gdb版本7.0.50.20091228’的第-p33部分): 在gdb控制下启动或退出下级时通知 set print inferior-events: ..
发布时间:2022-03-13 11:30:11 其他开发

Perl、Parallel::ForkManager和线程中哪个更快?

线程被视为轻量级进程。它们是否真的会比同等数量的派生进程运行得更快? 推荐答案 线程被视为轻量级进程。 哦,不,他们不是。Perl线程模型与Windows系统上的fork模拟交织在一起。在许多方面,在Perl中派生新线程的行为与派生新进程的行为相同:产生的两个控制流都在单独的Perl解释器中运行。也就是说,复制整个程序状态以生成新的解释器。 它们的运行速度真的会快于同等数量的派 ..
发布时间:2022-03-13 11:26:11 其他开发

C,叉子上无漏油

我试图了解内存分配是如何在fork上工作的,甚至在静电或动态分配上也是如此。我很难理解如下所示的一些泄漏。 使用此程序: #include #include int main(int argc, char **argv) { pid_t pid; int status; pid = fork( ..
发布时间:2022-03-13 11:22:41 其他开发

将两个子进程与c#中的信号量同步

我必须创建一个程序来同步两个进程,每个进程只打印一个字母,以便每当我们观察程序的输出时,"A"和"B"之间的差值不大于2。 因此这将被接受: BAABBAABBABA 这不是因为它打印4个B而只打印2个A: ABBABB 因此,对于初学者,我决定使用POSIX信号量。 我创建了两个信号量,使用sem_open向它们授予所有权限 然后,我创建了两个子进程,并为每个子进程打开 ..
发布时间:2022-03-13 11:19:37 其他开发

如何在node.js子流程模块中将消息和stdout从子进程传递到父进程?

我在子进程模块方面遇到了问题,特别是在Child.spawn和Child.fork方面。 我依赖的是Child_process.fork的文档,它说: 这是的Child_process.spawn()功能的特例 派生Node.js进程。除了将所有方法都放在 正常的ChildProcess实例,则返回的对象具有通信 频道内置。详情请参见Child.send(message,[sendHandl ..
发布时间:2022-03-13 11:15:55 其他开发

在GitHub上花钱意味着什么?

经过几次探索,我的理解是与贡献有关。 fork意味着将存储库(被派生的那个存储库)的副本复制到我自己的GitHub帐户中。 如果我想派生官方的jQuery存储库,那么我会转到https://github.com/jquery/jquery并点击“Fork”按钮,GitHub会将存储库(JQuery)复制到我的帐户(http://github.com/sanjaykhadka)。那么我将在ht ..
发布时间:2022-02-26 18:46:30 其他开发

如何在 fork() 创建的进程之间共享内存?

在fork child中,如果我们修改了一个全局变量,它不会在主程序中改变. 有没有办法改变子叉子中的全局变量? #include #include #include 诠释 glob_var;主要(int ac,char **av){国际PID;glob_var = 1;如果 ((pid = fork()) == 0) {/* 孩子 ..
发布时间:2022-01-31 10:11:41 其他开发

父母退出后如何使子进程死亡?

假设我有一个进程恰好产生一个子进程.现在,当父进程因任何原因(正常或异常,通过 kill、^C、断言失败或其他任何原因)退出时,我希望子进程终止.如何正确地做到这一点? 关于stackoverflow的一些类似问题: (之前问过)当父进程退出时,如何让子进程退出? (稍后询问)当父进程被杀死时,使用 fork() 创建的子进程是否会自动被杀死? 关于 Windows 的 sta ..
发布时间:2022-01-31 09:56:50 服务器开发

当我们在c中使用fork时,进程之间是否共享数据?

在这个 C 程序中,数据不会在进程之间共享,即父进程和子进程.孩子有自己的数据,父母有自己的数据,但指针显示两个进程的地址相同.它是如何在后台完成的?fork 会生成相同数据的副本吗?如果是这样,那么我们对两个进程都有相同的指针地址.还是由于为每个进程复制的静态分配的数据,并且每个进程的数据是独立的?我想知道它是如何完成的? #include#include ..
发布时间:2022-01-22 12:26:26 其他开发

Linux进程的堆栈大小与pthread、fork和exec有什么关系

我有一个关于 Linux 上进程的堆栈大小的问题.这个堆栈大小是否在链接时确定并在 ELF 文件中编码? 我写了一个程序,通过 打印它的堆栈大小 pthread_attr_getstacksize(&attr, &stacksize); 如果我直接从 shell 运行这个程序,它会给出大约 10MB 的值.但是当我从属于多线程程序的线程中 exec 时,它给出的值约为 2MB. ..
发布时间:2022-01-22 12:21:54 服务器开发

分叉后调试子进程(配置了follow-fork-mode子)

我正在开发一个应用程序,父母派出一个孩子来处理某些任务.我遇到了一个问题,我已将 gdb 配置为 follow-fork-mode child,但在 fork 之后,到达断点后,它会发送一个 SIGTRAP 但孩子会以某种方式终止并将 SIGCHLD 发送给父级. 我在 fork 之前配置了 signal(SIGTRAP, SIG_IGN) 所以我的理解是当断点到达但没有发生时,孩子应该继承 ..
发布时间:2022-01-20 19:55:57 其他开发