第一范文网 - 专业文章范例文档资料分享平台

Linux操作系统期末练习题lym

来源:用户分享 时间:2025/6/2 19:31:01 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

printf(\ lseek(fd,0,SEEK_SET); ftruncate(fd,8); num=read(fd,buf2,8); if(num!=8) printf(\ write(1,buf2,8); close(fd); }

4.实现“cat文件名”显示文件内容 #include

main(int argc,char *argv[]) {

int fd; int num; char buf[10]; if(argc!=2) {

printf(\ exit(1); }

fd=open(argv[1],O_RDONLY); if(fd==-1) {

perror(\ exit(1); }

while((num=read(fd,buf,10))!=0) write(1,buf,num); close(fd); }

5.实现“cp 原文件 目标文件” #include #include

main(int argc,char *argv[]) {

int from,to; int num; char buf[10]; if(argc!=3) {

printf(\ exit(1); }

from=open(argv[1],O_RDONLY);

to=open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0644); num=read(from,buf,10); while(num!=0) { write(to,buf,num); num=read(from,buf,10); }

close(from); close(to); }

6.编写程序pro3.c,将字符串“hello world”通过输出重定向方式写入文件f1中 #include #include #include #include #include main() { int fd; if((fd=open(\Y|O_CREAT,0644))==-1) perror(\ if(dup2(fd,1)==-1) perror(\ printf(\ close(fd); }

7.使用fork创建进程,在子进程中打印“I am the child”和子进程pid,在父进程中打印“I am the father”和父进程pid #include #include #include int main() {

pid_t pid; pid = fork(); if(pid < 0) {

perror(\ exit(1); }

else if(pid == 0)

printf(\ else

printf(\ exit(0); }

8.创建子进程,在子进程中执行“ps -A”命令,父进程等待子进程结束后打印“child over” 及所处理的子进程进程号 #include #include main() { pid_t pid,cpid; int i; char* args[64]; args[0]=”ps”; args[1]=”-A”; args[2]=NULL; pid=fork(); if(pid<0) { perror(“fork”); exit(1); } else if(pid==0) { execvp(args[0],args); exit(0); } else { cpid=wait(NULL); printf(“child over! cpid=%d\\n”,cpid); } }

9.编写程序处理SIGINT信号,当程序接收到SIGINT信号后输出“SIGINT is caught” #include #include

void signal_handler(int signum) {

switch(signum) {

case SIGINT:

printf(\ break; } }

int main() {

signal(SIGINT,signal_handler); pause(); return 0; }

10.使用PIPE时限父子进程向子进程发送1234567890,子进程接收并显示 #include #include main() {

int pfd[2]; char buf[32]; pid_t pid; pipe(pfd);

if((pid=fork())<0) perror(\ else if(pid>0) {

close(pfd[0]);

write(pfd[1],\ } else {

close(pfd[1]);

read(pfd[0],buf,11);

printf(\ } }

搜索更多关于: Linux操作系统期末练习题lym 的文档
Linux操作系统期末练习题lym.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7syy84dc1u6ksx798r74_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top