gpt4 book ai didi

在C linux中创建子进程

转载 作者:行者123 更新时间:2023-11-30 21:47:15 26 4
gpt4 key购买 nike

使用 fork() 创建子进程功能。

父进程运行时改变进程内容execl()运行 cat f1.c 的函数命令。

子进程运行traceroute www.google.com命令。

最佳答案

在此处提问之前,请先自行尝试并发布您迄今为止尝试过的内容,以便我们可以引导您走向正确的方向。另外,如果您花更多精力提出更好的问题,那就太好了。但给你一些指导:

您可以使用fork创建子进程。它返回一个整数。如果它为零,则意味着您处于子进程中。所以你可以做类似的事情:

    int pid;
if((pid=fork())==0){
// you are in child process
//use execl(constant char *path, constant char *commands); to run your commands
}
else {
//whatever you need to do in the parent process
}

您可以在这里找到有关 execl() 的信息:https://www.systutorials.com/docs/linux/man/3-execl/它基本上是一种运行命令的方式。第一个参数是一个常量 char 指针,它指向要在其中运行命令的 shell(“/bin/sh”等)。接下来的参数是它本身的命令(“cd”、“mydir”等),以 null 结尾。

execl("/bin/sh","cd","mydir",NULL); 

关于在C linux中创建子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50385398/

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