Advertisement

CSAPP - Simple Shell

阅读量:

Shell命令作为与操作系统进行交互的最常用工具,在实际应用中具有重要地位。

shell命令的执行流程主要包括以下几个步骤:

1)从标准输入设备读取用户输入的指令内容。

2)对获取到的指令进行分析处理,并判断其是否属于内置命令类别。

3)若判定为内置命令,则直接执行相应的内置操作。

4)若判定为非内置命令,则调用fork函数创建子进程,随后在该子进程中通过execve函数加载并运行新的程序。

此外,在对用户输入的指令进行解析时,还会涉及一些基础的解析过程。

5)如需实现进程状态的切换,例如将进程置于前台或后台运行等操作,则需要借助信号机制完成相关切换。(目前暂未实现)

以下展示了一个最为基础的shell程序,其开发依赖于书籍csapp.c和csapp.h文件。

复制代码
 /* Simple Shell command

    
 * linux>gcc -o shellex shellex.c csapp.c -lpthread
    
 */
    
  
    
 #include "csapp.h"
    
 #define MAXARGS     128
    
  
    
 /*Function prototypes */
    
 void eval(char *cmdline);
    
 int parseline(char *

全部评论 (0)

还没有任何评论哟~