社区
工具平台和程序库
帖子详情
向熟悉fork()和exec()的程序员们请教
QWY2000
2003-01-11 04:53:16
要求在linux下写一个命令解释程序,实现功能:允许用户打入一个可执行的程序的名字以及其命令行参数,执行这个程序。
利用C语言在Linux上设计,完成如下功能:
命令解释程序把命令行解释为外部命令(要执行的程序)。外部命令的执行则由命令解释程序通过fork()创建一个子进程,然后在子进程中调用exec执行一个程序。
...全文
165
4
打赏
收藏
向熟悉fork()和exec()的程序员们请教
要求在linux下写一个命令解释程序,实现功能:允许用户打入一个可执行的程序的名字以及其命令行参数,执行这个程序。 利用C语言在Linux上设计,完成如下功能: 命令解释程序把命令行解释为外部命令(要执行的程序)。外部命令的执行则由命令解释程序通过fork()创建一个子进程,然后在子进程中调用exec执行一个程序。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wonita
2003-01-22
打赏
举报
回复
up
用户 昵称
2003-01-20
打赏
举报
回复
参考w.richard stevens博士的《unix环境高级编程》
dhy311
2003-01-20
打赏
举报
回复
while(1){
//终端输入
//分析命令
if(命令 合法){
if(fork() ==0){
system("commad","参数");//比如"system(" ps ","-a");
或者是
//exec("可执行文件的路径","可执行文件名",参数);
}
else{
//father process
//等待子进程结束
wait(NULL);
}
}
}
merlinran
2003-01-13
打赏
举报
回复
你不是已经把程序的结构说出来了吗?还想问什么?需要别人给你写吗?我想没有多少人愿意做这样的事。
xv6中的
fork
()和
exec
()
本文从状态机模型出发,解析了xv6中
fork
()和
exec
()的源码。
fork
()用于复制进程,涉及用户地址空间复制和proc结构体初始化;
exec
()用于替换进程,包括text+data替换、stack分配和参数写入。最后分析了xv6第一个进程的启动,指出文件系统初始化应在首进程创建后进行。
程序员
必备知识——
fork
和
exec
函数详解
本文详细介绍了UNIX编程中
fork
函数的原理与应用,探讨了
fork
如何通过一次调用实现两次返回的独特机制,以及如何结合
exec
函数实现进程替换,是学习多进程编程不可或缺的内容。
操作系统
fork
与
exec
本文详细解析了Linux操作系统中
fork
()和
exec
()函数的工作原理,包括如何通过
fork
()创建子进程,以及如何利用
exec
()替换当前进程的内存空间,执行新的程序。并通过实例展示了这两个函数在实际编程中的应用。
Linux手账—
exec
和
fork
本文介绍了Linux系统中
exec
系列函数和
fork
函数。
exec
系列函数用于在当前进程中执行新程序,替换其地址空间;
fork
函数用于创建新进程,子进程继承父进程资源但有独立地址空间。文章还阐述了二者的功能、返回值、执行流程等,助开发者实现多进程编程。
Linux多进程/线程编程之【
fork
()和
exec
()】
文章详细介绍了
fork
系统调用如何创建子进程,包括为何创建子进程、
fork
的内部原理以及子进程的特点。同时,文章探讨了
exec
族函数在运行新程序中的作用,解释了为何需要
exec
函数以及它们的不同变体和用法。在多线程环境中,调用
fork
和
exec
可能导致的问题,如内存泄漏和线程安全问题,也进行了讨论。
工具平台和程序库
24,851
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章