gpt4 book ai didi

c - 使用 fork 和 exec 在 C linux 中执行程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:13 26 4
gpt4 key购买 nike

我想在 Linux 中使用 forkexec 系统调用来执行 C 程序。我写了一个程序 msg.c 并且运行良好。然后我写了一个程序msg1.c

当我执行 ./a.out msg.c 时,它只是打印 msg.c 作为输出,但不执行我的程序。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> /* for fork */
#include <sys/types.h> /* for pid_t */
#include <sys/wait.h> /* for wait */

int main(int argc,char** argv)
{
/*Spawn a child to run the program.*/
pid_t pid=fork();
if (pid==0)
{ /* child process */
// static char *argv[]={"echo","Foo is my name.",NULL};
execv("/bin/echo",argv);
exit(127); /* only if execv fails */
}
else
{ /* pid!=0; parent process */
waitpid(pid,0,0); /* wait for child to exit */
}
return 0;
}

最佳答案

argv[0] 包含您的程序名称,您正在回应它。完美运行 ;-)

关于c - 使用 fork 和 exec 在 C linux 中执行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22402932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com