wexitstatus

    0热度

    1回答

    我有一个命令和一些输入,当在命令行中运行会返回一个错误,与1相关的错误代码: $ foo bar [some useful error message...] $ echo $? 1 我想抓住这个错误代码waitpid(): ... char *proc_cmd = "foo bar" pid_t proc = popen4(proc_cmd, in_fd, out_fd, err_

    0热度

    1回答

    看着this post我不明白Kaylum的答案。我有两个问题。 1)他/她希望使用变量“count”来计算产生的进程总数(即子孙孙等的总数+原始进程)。我看到,他/她通过在父进程中将count设置为1开始,这有意义(对父进行计数),但是然后S/he在子进程中再次将计数设置为1。为什么这有意义?计数已经设置为1,并且这只能再次设置计数等于1。 count += WEXITSTATUS(status

    0热度

    1回答

    我只是一个新手,当涉及到按位运算 - 如果这甚至是正确的术语 - 并且正在寻找一种更好的方法来执行逻辑整型返回码(这是各种Unix程序的标准)。即返回代码可能是1,2,4,8任意组合等 这里是我的代码(片段),到目前为止: [...] if (result == 0) //no problem else { if ((result > 127) && (result % 1

    -2热度

    1回答

    #include <stdlib.h> #include <sys/wait.h> #include <unistd.h> #include <stdio.h> int main() { pid_t pid; int status = -1; if ((pid = fork()) != 0) { printf("Father process

    0热度

    1回答

    我有下面的代码,但我需要exit(status)返回一个浮点数,但WEXITSTATUS没有收到浮点数原因状态必须是int,那么请问有什么解决方案? scanf("%f%f",&f,&g); P = fork(); if(P == 0){ printf("\nje suis le fils multiplication: PID = %d\n", getpid

    0热度

    1回答

    我只能说一点英语,所以我希望你能理解我说的话。 我fork了一个子进程,然后我在子进程中做ADD。 EX:56 + 48 = 104 如果值低于255,我可以使用“wexitstatus(status)”来获得答案。 但是,如果值高于256,那就错了! 我该怎么办?

    1热度

    3回答

    我有下面的帮助函数,用于执行命令并获取posix系统上的返回值。我曾经使用popen,但如果它运行并且在popen/pclose有机会完成其工作之前退出,则无法获得应用程序的返回码popen。 以下帮助函数创建一个进程分叉,使用execvp运行所需的外部进程,然后父代使用waitpid获取返回码。我看到它拒绝运行的奇怪情况。 当用wait = true调用时,waitpid应该返回应用程序的退出代