社区
Linux/Unix社区
帖子详情
我现在在编写一个在LINUX下运行的命令解释器,对于后台运行的命令方法有些不懂,请高手指点一下
horace331
2003-08-30 10:13:08
我的任务是编一个在LINUX下运行的命令解释器,模拟LINUX中的SHELL
现在的困难是要求可以用&作为命令的结束符使之后台运做,请高手指点一下思路
当然,直接编好更好:)
...全文
37
4
打赏
收藏
我现在在编写一个在LINUX下运行的命令解释器,对于后台运行的命令方法有些不懂,请高手指点一下
我的任务是编一个在LINUX下运行的命令解释器,模拟LINUX中的SHELL 现在的困难是要求可以用&作为命令的结束符使之后台运做,请高手指点一下思路 当然,直接编好更好:)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
horace331
2003-08-31
打赏
举报
回复
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
CoolQ
2003-08-31
打赏
举报
回复
#define MAX_CMD_SIZE 1024
static void sig_chld_handler(int signo)
{
int status;
int pid;
while((pid=wait(&status)) > 0){
printf("Child done, pid = %d, exit status = %d", pid, status);
};
return;
}
int main(int argc, char *argv[])
{
char cmdbuf[MAX_CMD_SIZE];
if(signal(SIGCHLD, sig_chld_handler) == SIG_ERR){
printf("signal handler error\n");
exit(EXIT_FAILURE);
}
while(1){
fputs(">");
fgets(cmdbuf, sizeof(cmdbuf), stdin);
if((pid = fork) < 0){
printf("fork Error.\n");
exit(EXIT_FAILURE);
}else if(pid == 0)
execlp(cmdbuf, cmdbuf, 0);
}
}
这个程序我没有调试,但是大体意思应该错不了,而且命令是在后台进行的,但是这个程序有几个地方我简化了,一个是判定是不是需要后台运行,需要查找&字符,要确定&是在最后而不是在中间,如果是在前台运行的话,main里边就要wait,另一个是这个程序父进程被意外退出时不能保证后台子进程全部退出,你自己完善一下吧
ice_soft
2003-08-31
打赏
举报
回复
很容易,创建一个新的进程:
先用fork()
然后用execv()就可以了。
klbt
2003-08-30
打赏
举报
回复
学习。
Linux
运维之Shell编程企业级实战
对于
Linux
系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,
Linux
系统管理的
命令
是它正常
运行
的核心,与之前的DOS
命令
类似。
linux
命令
在系统中有两种类型:内置Shell
命令
和
Linux
命令
...
Linux
常用基础
命令
198个
Linux
常用基础
命令
198个 1.mkdir 创建目录 * 主要选项:-p 递归创建目录 主要案列:mkdir /xujun mkdir -p /xujun/oldboy mkdir -p /xujun/oldboy{1,2} #创建多个目录 2.cd 切换路径 * 主要案例:cd或cd ~ #切换至家目录 cd - #在上
一个
目录和当前目录来回切换 cd ~xujun #切换至某用户的家目录 cd … #切换至上一级目录 3.ls 查看目录或文件信息 * 主要选项:-l 列出目录或者文件的详细
linux
命令
和
Linux
基本常用的知识详解
Linux
简介与厂商版本 1.
Linux
简介
Linux
可以有狭义和广义两种定义。狭义来说,
Linux
实际上指
Linux
kernel (内核)。内核负责管理硬件,并为上层应用提供接口。而广义来说,是指以
Linux
kernel为基础的,包括OS和各种应用在内的各个
Linux
版本(distribution)。尽管看起来版本眼花缭乱,但实际上,各个版本之间也只是大同小异,其差别往往体现
Linux
全网最新
Linux
全套教程第三章
Linux
的目录结构***\*3.1 基本介绍\*******\*3.2
Linux
具体目录结构\*******\*3.3
Linux
目录总结
一下
\****第四章
Linux
常用
命令
4.1 文件处理
命令
***\*4.1.1
命令
格式与目录处理
命令
ls\*******\*4.1.2 目录处理
命令
\*******\*4.1.3 文件处理
命令
\*******\*4.1.4 链接
命令
\*******\*4.2 权限管理
命令
\*******\*4.2.1 权限管理
命令
chmod\**
第三节课(
linux
150
命令
详解)
这次学习并没有布置作业,而学习内容是第一节课作业,以及第二节课的作业集合。老师们提示说,
命令
是
linux
一切的基础,一定要多联系,每个
命令
最少联系20遍。最少要熟练运用30个基础
命令
.我正在向这个靠拢,不知道学习进度对于其他网络教学怎么样,反正我觉得刚好,因为可能安排是4~5个月,1 3 5晚8点30-10点30。 有几个月的时间,如果基础学习不扎实, 怎么学习更深的知识。以下附上老师整理的
命令
1...
Linux/Unix社区
23,110
社区成员
74,506
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章