gpt4 book ai didi

使用系统调用创建进程的 C 程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:29:16 26 4
gpt4 key购买 nike

我想制作一个 C 程序,利用系统调用来创建过程。该程序应该从命令行接收一个未确定的数字根据用户输入的选项并行或顺序执行的 Linux 命令。

执行命令[-p|-s] comand1 comand2

其中 p - 并行(对于每个命令,父进程必须创建一个执行相应命令的子进程。)

and s - 顺序(父进程应该为每个执行的命令创建子进程,但是运行第二个命令的进程将不得不等待运行命令的进程完成第一个和第三个命令将不得不等待第二个执行结束等)

所以基本上我希望那个用户做类似的事情

./executeCommand -p ls\-lisa cat\fork.c

#include<stdio.h>
int main(int argc, char *argv[]){

execl("/bin/ls","ls",NULL);

}

一些提示将不胜感激!

最佳答案

如上文所述,fork、wait 和 exec 系列应该足以让您实现 mini-shell。

对于高级命令行参数解析,你可以看看getopt

这是教程的链接: Parsing Program Arguments

关于使用系统调用创建进程的 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5871080/

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