UNIX 环境高级编程
代码随想录
代码随想录网站:https://programmercarl.com
展开
-
UNIX环境高级编程之第6章:系统数据文件和信息
6.1 引言UNIX系统的正常运行需要使用大量与系统有关的数据文件,例如,口令文件/etc/passwd和组文件/etc/group就是经常被多个程序频繁使用的两个文件。用户每次登陆UNIX系统,以及每次执行ls -l命令是都要使用口令文件。对于这些数据文件的可移植接口是本章的主题。本章包括了系统标示函数、时间、日期函数。6.2 口令文件(Password File)给出用户登录名原创 2015-08-21 23:56:54 · 748 阅读 · 0 评论 -
UNIX环境高级编程之第9章:进程关系
9.1 引言在上一章我们已经了解进程之间具有关系,首先,每个进程有一个父进程(初始的内核级进程通常是自己的父进程).本章将更详细地说明进程组以及POSIX.1引入会话的概念.还将介绍登陆shell和所有从登陆shell启动的进程之间的关系.9.2 终端登陆随着位映射图形终端的出现,开发处窗口系统,它向用户提供了与主机系统进行交互的新方式.创建终端窗口的应用也被开发出来,它仿真了基于字符原创 2015-09-12 00:39:03 · 543 阅读 · 0 评论 -
UNIX环境高级编程之第6章:系统数据文件和信息-习题
6.1 使用获取阴影文件口令的函数6.2 使用getpwnam函数获取结构体spwd;6.3 #include #include int main(){ struct utsname buf; int re; if((re=uname(&buf))==-1) err_sys("uname error"); printf("operating syste原创 2015-08-23 10:14:30 · 539 阅读 · 0 评论 -
UNIX环境高级编程之第1章:UNIX基础知识
1.1 引言所有的操作系统都为程序提供服务:执行新程序,打开文件,读文件,分配存储区以及获取当前时间1.2 unix体系结构内核的接口称之为系统调用公共函数库构建再系统调用接口之上,应用程序既可以使用公共库函数也可以使用系统调用接口,shell 是一个特殊的应用程序,为其他应用程序提供一个接口1.3 shell shell是一个命令行解释器,shell的用户输入通常来自原创 2015-08-06 23:03:46 · 659 阅读 · 0 评论 -
UNIX环境高级编程之第4章:文件和目录
4.1 引言上一章主要是为荣的I/O进行的(打开文件,读文件,写文件),本章讲描述文件系统的其他特征和文件的性质。从stat函数开始,诸葛说明stat结构的每一个成员以及了解文件的所有属性。在此过程中讲介绍修改这些属性的各个函数(更改所有者和权限),更加详细的说明UNIX文件系统的结构以及符号链接(symbolic links),本章最后介绍对目录操作的各个函数,并且开发一个以降序遍历目录原创 2015-08-14 00:13:11 · 788 阅读 · 0 评论 -
UNIX环境高级编程之第8章:进程控制
8.1 引言本章介绍UNIX系统的进程控制,包括创建进程,执行进程和进程终止.还说明进程属性的各种ID-实际,有效和保存的用户ID和组ID,以及他们如何受到进程控制原语的影响.本章包含解释器文件(Interpreter file)和system function.还有进程会记机制(process accounting),可以让给我们从不同的角度谅解进程的控制功能.8.2 进程标示(原创 2015-08-28 00:33:23 · 702 阅读 · 0 评论 -
UNIX环境高级编程之第8章:进程控制-习题
/************************************************************************* > File Name: 8.3.c > Author: Xiuyang(Carl) Sun > Mail: sunxiuyang04@gmail.com > Created Time: 2015年08月28日 星期原创 2015-09-11 16:32:03 · 633 阅读 · 0 评论 -
UNIX环境高级编程之第5章:标准I/O库-习题
5.1 setbuf和setvbuf可以用来更改缓冲的类型,可以使用setbuf函数打开或关闭缓冲机制。为了带缓冲进行I/O,参数buf必须指向一个长度为BUFSIZ的缓冲区。通常在此之后该流就是全缓冲,但是如果和该流和终端设备相关,那么改成行缓冲。为了关闭缓冲,将buf设置为NULL。void setbuf(FILE *restrict fp, char *restrict buf);i原创 2015-08-21 11:09:43 · 486 阅读 · 0 评论 -
UNIX环境高级编程之第5章:标准I/O库
5.1 引言标准I/O库处理很多细节,如缓冲区分配,以优化的块长度执行I/O。这些处理用户不必担心如何选择使用正确的块长度5.2 流和FILE对象在第3章,所有I/O函数都是围绕文件描述符(file desctriptor)的。而对于标准I/O库,他们的操作是围绕流(stream)进行的。当标准I/O库打开或创建一个文件是,我们以使一个流与一个文件相关联。流的定向(stream's原创 2015-08-19 00:11:18 · 626 阅读 · 0 评论 -
UNIX环境高级编程之第4章:文件和目录-习题
4.1 stat函数是跟随符号链接的,所以用stat替换lstat不会显示符号链接的信息4.2 在一个文件夹下先再shell中输入umaskshell进程再进行创建文件的操作,其权限抖都会被屏蔽4.3 文件权限分别为用户权限,组权限,其他权限更改权限也可以这样写chmod u+r test.c 把赋给test.c文件的用户读权限4.4 用creat创建已原创 2015-08-18 10:41:00 · 987 阅读 · 2 评论 -
UNIX环境高级编程之第7章:进程环境
7.1 引言本章学习:当程序执行时,其main函数使如何被调用的,命令行参数是如何传给新程序的,典型的存储空间布局,如何分配另外的存储空间,进程如何使用环境变量,进程的各种不同的终止方式。另外还说明longjmp和setjmp函数以及它们与栈的交互作用,还有查看进程的资源限制7.2 main函数c程序总是从main函数开始执行。main函数的原型是:int main(int arg原创 2015-08-23 16:17:04 · 551 阅读 · 0 评论 -
UNIX环境高级编程之第3章:文件I/O
3.1 引言文件I/O函数:打开文件,读文件,写文件常用到五个函数:open, read, write, lseek, close.本章描述的函数都是:不带缓冲的I/O(unbuffered I/O),属于不带缓冲 是指每个read和write都是调用内核中一个系统调用3.2 文件描述符对于内核而言,所有打开的文件都是通过文件描述符引用的当读或写一个文件的时候,使用open原创 2015-08-08 00:40:02 · 826 阅读 · 0 评论 -
UNIX环境高级编程之第10章:信号
10.1 引言信号是软件中断.很多比较重要的应用程序都需要处理信号.信号提供一种处理异步时间的方法,例如,终端用户键入中断键,会通过信号机制停止一个程序,或及早终止管道中的下一个程序.10.2 信号概念首先每个信号都有一个名字.这些名字都是以SIG开头.例如,SIGABRT是夭折信号,当进程调用abort函数是产生这种信号.10.3 函数signalUNIX系统信号机制最简单的原创 2015-09-20 14:44:09 · 576 阅读 · 0 评论