浅谈命令解释程序-概述
一、
命令解释程序(shell)是一个用来对命令进行解释的进程。
命令解释程序工作流程:命令解释程序从标准输入读入命令行,并创建一个子进程来之行命令,然后父进程要在读入另一条命令之前,等待这个子进程执行完毕。实际的命令解释程序要负责处理进程流水线和重定向,以及前台进程组、后台进程组和信号。
我们可以给出一个设计命令解释程序的简单框架。
1、从标准输入中读入命令行参数。
2、产生子进程。
3、在子进程中利用makeargv函数将命令行参数进行分析。
4、调用execvp()函数来执行上一步分析出来的命令。
二、
当自己编写一个命令程序时,肯定会使用到makeargv,如果当前的命令程序会调用新的程序时,会使用上述的框架,产生一个子进程然后使用execvp()函数来执行新的程序,或者使用System()函数(它相当于,残生了一个子进程,让子进程用execl执行命令)。