在 C Linux 中创建子进程



使用fork()函数创建子进程。

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

子进程运行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); 

最新更新