APUE
UNIX 环境高级编程学习
菱形继承
懒癌患者,IT民工,前进路上经常磕磕碰碰
展开
-
UNIX高级环境编程 第三次实验 实现带参数的简单Shell
实验三 实现带参数的简单Shell1. 实验内容利用课本第9页程序1-5的框架,实现允许输入命令带参数的简单shell。原来的实现是不能够带参数的。输入命令所能带的参数个数,只受到系统键盘输入缓冲区长度(以及shell输入缓冲区长度)的限制,该缓冲区的缺省长度是4096个字节。实现时要解决的主要问题有:**1.1正确理解并使用系统调用fork(),execve()和waitpid(),特别是execve()函数。**fork()函数创建一个新的进程。新进程就是所谓的子进程,它是执行fork(原创 2020-11-24 20:33:41 · 893 阅读 · 2 评论 -
UNIX 高级环境编程 实验二 目录树的遍历
实验二 目录树的遍历1. 实验内容以课本132-134页程序4-22为参考,在此基础上进行修改和扩展,实现目录树的遍历,具体需要根据传入参数的不同实现以下功能:仅传入一个目录:统计该目录下的文件信息传入-comp和文件名参数:在该目录下寻找与该文件名内容相同的文件,输出绝对路径传入-name和文件名参数列表:在该目录下寻找与该文件名列表中的某一个相同的文件名,输出绝对路径不能输出任何“文件打不开”等错误信息及无关目录详细命令语法: myfind <pathname> [原创 2020-10-21 16:14:03 · 1000 阅读 · 0 评论 -
UNIX 高级环境编程 第四章作业
4.1首先明白lstat和stat的细微区别:针对此题,原有4.1.c中是lstat函数,运行时参数argc[1]是以创建的符号链接时,会返回该符号链接有关的信息,而不是符号链接引用的信息;如果是stat函数,运行时参数argc[1]是以创建的符号链接时,会返回符号链接引用的信息;结论:lstat:输出symbolic link stat:输出regular验证一下:如图,softlinuxlinux01是用ls -lh建立的软链接,指向linux01.c然后运行4.1.c(此时是用ls原创 2020-10-13 00:35:29 · 194 阅读 · 0 评论 -
UNIX 高级环境编程 实验一 同步与异步write的效率比较
实验一 同步与异步write的效率比较学院:信息学院专业:计算机科学与技术一、实验内容 计算 write 耗费的时间,来比较同步写和异步写的性能差异。显示的时间应当尽量接近write操作过程所花的时间。不要将从磁盘读文件的时间计入显示结果中。 实验要求程序必须指定输出的文件名,而该文件是否按同步方式打开,则是可以选择的。因此程序至少带一个、至多两个输入参数。程序默认从标准输入 STDIN_FILENO 读取输入文件,可以利用shell的输入定向功能选择具体的输入文件。 **调原创 2020-10-10 19:33:43 · 1599 阅读 · 0 评论 -
APUE学习手札 编写一个与3.12节中dup2功能相同的函数,要求不调用fcntl函数,并且要有正确的出错处理
3.2 编写一个与3.12节中dup2功能相同的函数,要求不调用fcntl函数,并且要有正确的出错处理。思路,不断执行dup函数,直到返回与newfd相同的文件描述符,所有都执行结束之后关闭之前dup返回的文件描述符不要忘记特判newfd和fd相同的情况,直接返回。记住dup2还多了一歩先关闭newfd的步骤#include "apue.h"#define BUFFSIZE 16int main(){ char buffer[BUFFSIZE]; int fdin,fdout,n;原创 2020-09-29 21:21:20 · 1481 阅读 · 26 评论