1:子进程每隔一秒向文件写入信息,父进程每隔三秒读出子进程所写的信息并输出到屏幕。
2:模拟shell,设计一个交互式命令处理程序,注意对命令参数和环境参数的处理。
3:编写一个守护进程,实现功能为:每隔一秒,向当前目录下的hello文件里写入一行helloworld。
关于Linux的三个编程题,想了半天毫无头绪,感觉Linux编程好复杂。求大家帮助帮助我,谢谢。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- lucia_fanchen 2015-11-04 12:04关注
这是我写的守护进程
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<fcntl.h> #include<sys/types.h> #include<unistd.h> #include<sys/wait.h> //创建守护进程 void init_daemon(){ pid_t pid; int i; if(pid = fork()){ //是父进程,结束父进程 exit(0); }else if(pid < 0){ //fork失败,退出 perror("fork error"); exit(-1); }else{ //第一个子进程,后台继续执行 setsid();//第一个子进程成为新的会话组长和进程组长并与控制终端分离 if(pid = fork()){ //是第一个子进程,结束 exit(0); } else if(pid < 0){ perror("fork"); exit(-1); }else{ //第二个子进程,继续,其不再是会话组长 for(i = 0; i < getdtablesize();i++){ //关闭打开的文件描述符 close(i); } //重设文件创建掩码 umask(0); } } } int main() { char *buf = "hello world\n"; int fd; init_daemon(); while(1){ if(fd = open("hello.txt",O_CREAT|O_WRONLY|O_APPEND,0600)<0){ perror("open"); exit(-1); } write(fd,buf,strlen(buf)); close(fd); sleep(1); } return 0; }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料