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)
还没有任何评论哟~
