文件和目录之stat族函数——APUE学习笔记(2)
一. 函数原型及具体数据结构: #include <sys/stat.h>int stat(const char *retrict pathname, struct stat *restrict buf);int fstat(int fd, struct stat *buf);in...
APUE第4章 文件和目录
4.2 文件函数#include <sys/stat.h>int stat(const char *restrict pathname, struct stat *restrict buf );int fstat(int fd, struct stat *buf );int lstat(...
看unix高级编程时遇到apue.h找不到的问题
最近学习 Unix 环境高级编程这本书,第一个例子就碰到了问题,下面是解决办法。一开始看到这本书,刚翻了几页,就觉得对味。按照书中的代码做练习时,编译代码文件提示fatal error: apue.h: No such file or directory。翻看书的附录B,可以看到apue.h的资料,...
APUE读书笔记-第18章-终端I/O
18.1 引言 *终端I/O的用途很广泛,包括用于终端、计算机之间的直接连线、调制解调器以及打印机等等,所以终端I/O系统非常复杂 18.2 综述 *终端I/O有两种不同的工作模式: (1)规范模式输入处理(Canonical mode input processing) (2)非规范模式输入处理...
APUE读书笔记-高级I/O
高级I/O 1,非阻塞I/O 有些调用可能会使进程永远阻塞,它们可能包括: .读管道,终端设备或网络设备的数据并不存在时,读操作会使调用者永远阻塞。 .数据不能立即被写到上述同类型文件接受,该写操作也会阻塞。 .在某条件发生之前,打开某种类型的文件,也会被阻塞,例如:...
APUE信号-程序汇总
APUE信号-程序汇总 近期重看APUE,发现对于非常多程序的要领还是没有全然理解。所以梳理下便于查看,并且有非常多值得思考的问题。程序清单10- 1 捕获 SIGUSR1 和 SIGUSR2的简单程序#include "util.h"static void sig_usr(int);in...
《unix环境高级编程》源代码编译找不到apue.h等错误的解决办法
转自:http://blog.chinaunix.net/u1/52350/showart_426726.html最近学习Linux编程,收获真的很多。以前看都是别人或man告诉你某个命令怎么使用,但现在我才领悟到,是程序的源代码决定了全部。 linux要编程,首先需要安装gcc与其它编程工具与库文...
Mac OS X 10.8 中编译APUE(Unix环境高级编程)的源代码过程
这篇文章主要介绍了Mac OS X 10.8 中编译APUE(Unix环境高级编程)的源代码过程,对于用MAC学习Unix环境高级编程的同学会有些作用,需要的朋友可以参考下
APUE第七章 进程环境
引言 当程序执行时,其main函数是如何被调用的–内核调用启动例程执行exec函数再执行main函数内容。 命令行参数是如何传递给新程序的–调用exec的进程可将命令行参数传递给该新程序 典型的存储空间布局是什么样式 如何分配另外的存储空间 进程如何使用环境变量 进程的各种不同...
apue学习第十五天——进程关系(第九章)
天呐,我有几天没写了啊?!这几天忙着专利第二稿的改写和论文的调研,已经无暇顾及我心爱的apue了。那今天,把第九章搞定吧!内容很简单~ 第九章名称叫进程关系,也都是写理论和概念上的东西,讲了下面几个方面:终端登录和网络登录;session(会话);job control(作业控制)。 那就首先来看...
APUE关于第九章进程关系的疑问
书中提到了如下两种情况 两种情况的PID和PPID的关系相差很大,请问第一种情况是老版本的SHELL吗,因为我电脑上的是第二种情况(Fedora9) 第一种 ps -xj | cat1 | cat2 下面看一看shell所用的进程控制: PPID PID PGID SID TPGID ...
[APUE]进程关系(下)
一、控制终端 对话期和进程组有一些其他特性: 一个对话期可以有一个单独的控制终端。通常是我们在其上登录的终端设备或伪终端设备。 建立与控制终端连接的对话期首进程,被称之为控制进程 一个对话期中的几个进程组可以被分成一个前台进程组以及一个或几个后台进程组 如果一个对话期有一个控制终端,则它有...
《APUE》笔记-第九章-进程关系
重点:终端登录、网络登录、进程组、会话、控制终端、孤儿进程组 1.终端登录 终端或者是本地的(直接连接)或者是远程的(通过调制解调器连接)。在这两种情况下,登录都经由内核中的终端设备驱动程序。 BSD终端登录: 大概过程如下: 1.系统自举,内核创建进程ID为1的init进程 2.init进程读取...
apue学习笔记(第九章 进程关系)
本章将详细地说明进程组以及POSIX.1引入的会话的概念。还将介绍登录shell和所有从登录shell启动的进程之间的关系 终端登录 BSD终端登录。系统管理者创建通常名为/etc/ttys的文件,其中每个终端设备都有一行,用来说明设备名和传到getty程序的参数。 当系统自举时,内核创建进程...
APUE学习之虚拟机 Ubuntu 配置APUE环境
从apue官网下载源代码,我这里是二代 src.2e.tar.gz,解压到相应文件 我这里是火狐浏览器默认下载到Downloads目录中,将源代码解压到Documents目录中的新建apue2文件夹中 命令:sudo tar zxvf ~/Downloads/src.2e.tar.gz -C /h...
unix环境高级编程书中实例缺少apue.h头文件解决方法
《UNIX环境高级编程》一书中运行里面的实例时就出现问题,提示 “错误:apue.h:没有那个文件或目录”。 其实apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以应该将它放入系统头文件中(Linux下是 /usr/include),这样gcc编译器就可以找到它了...
APUE笔记之文件IO
1. int fcntl(int fd,int cmd) / int fcntl(int fd,int cmd,long arg) / int fcntl(int fd,int cmd,struct flock *lock) fcntl函数有以上3中调用格式,和open一样,都是用可变参...
[12]APUE:高级 I/O
一、分散聚离(向量) I/O[a] readv / writev#include <sys/uio.h>ssize_t readv(int fd, const struct iovec *iov, int iovcnt)ssize_t writev(int fd, const struc...
《APUE》读书笔记第十二章-线程控制
本章中,主要是介绍控制线程行为方面的内容,同时介绍了在同一进程中的多个线程之间如何保持数据的私有性以及基于进程的系统调用如何与线程进行交互.一.线程属性我们在创建线程的时候可以通过修改pthread_attr_t结构的值来修改线程的属性,将这些属性与创建的线程联系起来。调用pthread_attr_...
APUE习题5.x
5.4 下面的代码在一些机器上运行正确,而在另外一些机器运行时出错,解释问题所在?#include <stdio.h>int main( void ){ char c; while( ( c = getchar() ) != EOF ) putchar( c )...