作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的代码:
void function_exists(int foo)
{
char bar[10] = "/bin/";
int baz;
strncat(bar,act_arg[0],sizeof(act_arg[0]));
if(fork() == 0)
{
printf("\n");
baz = execlp(bar,act_arg[0],NULL);
if(baz == -1)
{
foo++;
wait(NULL);
}
else
{
wait(NULL);
exit(0);
}
}
fflush(stdout);
printf("Hello");
}
我正在尝试从 execlp 返回控制权,并且我知道除非出现错误,否则它不会返回值,因此我使用了 fork。但是当我执行代码时,首先会打印 hello。为什么会发生这种情况?
还有
有没有办法让 exec 返回或任何其他系统调用对我做同样的事情。现在我按 Enter 键,我的程序接管,但我想在不按 Enter 键的情况下执行此操作。
我没有足够的代表来发布图像,因此这里是我的输出的链接: http://tinypic.com/r/6szw52/5
最佳答案
当您调用execlp时,子进程区域将被execlp覆盖,因此execlp之后可用的代码将不会被执行。
将wait放在主循环中即可达到预期的结果。
检查这段代码你会得到更多的想法。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
pid_t child;
child = fork();
if(child == 0) {
printf("at child\n");
execlp("./hello",argv[0],NULL);
printf("after execlp in child\n\n");
sleep(2);
}
else {
wait(NULL);
printf("parrent finish\n");
}
return 0;
}
printf 在 execlp 之后可用,不会执行。
关于c - 如何从exec返回控制权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19035796/
所以我使用 PyGame 制作了 Pong,我想使用遗传算法让 AI 学习玩这个游戏。我希望它只知道其桨、球和控件的位置。我只是不知道如何让人工智能自己移动桨。我不想这样做:“如果球在你上方,就向上。
我有包含 4 个子选项卡的 TabControl。 每个选项卡都包含图片框控件。 我需要获取选中的Tab控件的图片框控件。 知道如何实现吗? 最佳答案 也许 var picBox = TabContr
我需要使用 Java 代码控制 Windows XP 的 Windows,我需要单击/键入 windowsXP 给定窗口的特定按钮/文本字段,如何做到这一点有什么想法吗? 我尝试过的方法是:(1) 我
我是一名优秀的程序员,十分优秀!