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

时间:2011-05-03 14:32:20

标签: c linux unix os.execl

我想创建一个使用系统调用来创建的C程序 流程。程序应从命令行接收未确定的数字 Linux命令根据用户输入的选项并行或按顺序执行它们。

executeCommand [-p | -s] comand1 comand2

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

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

所以我基本上希望用户做类似

的事情

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

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

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

}

一些提示将不胜感激!

2 个答案:

答案 0 :(得分:2)

如上所述,fork,wait和exec系列应该为你实现迷你shell。

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

以下是教程的链接: Parsing Program Arguments

答案 1 :(得分:0)

您需要fork。您需要进行不同类型的execwait来电。

这些系统调用应该是你需要的全部。