fork

    1热度

    2回答

    我有这样的C代码 /* SIGCHLD handler. */ static void sigchld_hdl (int sig) { /* Wait for all dead processes. * We use a non-blocking call to be sure this signal handler will not * block if a c

    0热度

    1回答

    [作业] 所以我用C语言编写了一个程序来计算输入文件(包括-l -w -c修饰符)的行数,字数,&个字符。现在我必须创建与命令行上的文件一样多的进程,每个进程只计算一个文件并将其结果写入管道。父进程需要从管道读取并显示总计。我还应该显示计算每个文件的进程ID。这里是我的整个程序,但在发生了我的问题的main(): ... if (pipe(pd) < 0) error_exi

    0热度

    1回答

    运行以下代码时,最后一个服务器不会被打印 - 脚本在倒数第二个数组元素之后“挂起”。 my %readers; my $command = "pgrep -f weblogic.Name"; foreach my $server(@servers) { pipe($readers{$server},WRITER); unless(my $pid = fork()) {

    0热度

    1回答

    我在做一个程序,它将接收3个参数,./a.out abc,其中a和c是列号,b和操作数由行分隔。 当它的真实再现stdin其他没有结果。 例子: $ ./a.out 1 > 2 $ 5:2:1:6 5:2:1:6 $ ./a.out 2 = 4 $ 1:2:3:4 $ 我试着在我的第一个版本,doint管道,并从标准输入读取数据时切需要它,但我的问题是,我失去了输入。 现在我试图从

    0热度

    1回答

    我试图运行这块的Hello World代码: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> char string1[] = "\n Hello"; char string2[] = " World.\n"; int main(void) { int chil

    0热度

    2回答

    为什么程序打印4次'do'而不是'do'? 代码: #include<stdio.h> #include<unistd.h> int main() { printf(" do "); if(fork()!=0) printf(" ma "); if(fork()==0) printf(" to \n "); else printf("\n"); } 程序打印 做马 做 做马到

    1热度

    3回答

    我正在尝试编写shell,但我不明白为什么在createProcess函数结束后,主进程不打印此"> "。 也有更好的方法来打印来自主进程的东西吗?我用这个if (mainPid == getpid()。 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> void createPr

    0热度

    1回答

    以下是我尝试了解如何在两个子进程之间进行正确管道的尝试。我只是试图将一个Linux命令的输出传递给另一个(ls到cat)并让程序成功返回。然而,我猜测第二个分叉的孩子被卡住了,父母永远在等着这个孩子。很长一段时间,我一直在摆弄这段代码,试图找出它为什么会陷入困境。谈到C语言编程时,我很喜欢noob,但我正在努力学习。 有没有人知道为什么程序不会退出,但挂在猫? 任何帮助将不胜感激。 谢谢。 #in

    0热度

    1回答

    我想在Ubuntu 16.04中使用fork()在某个预定时间执行python脚本。在我阅读文档时,我没有遇到fork()中的计划选项。 是否fork()有一个选项来调度? 目前,我使用'CRON'来调用python脚本,但它似乎像CRON作业总是有最低优先级。 什么是最好的选择安排在Ubuntu日常OPS执行庞大的数据库操作?

    0热度

    1回答

    我已经明白,分叉和连接用于多线程,但我不明白什么,当一个任务分叉时发生。分叉任务是否会导致任务返回计算方法的开始?还是这个任务做了别的事情?如果我想要一个任务跳转到除计算以外的其他方法,并在分叉时运行,我该如何告诉它这样做?有什么可以扩展到(instance).fork();,我可以包含这些扩展来指定它?