E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
【APUE】
unix系统编程小结(一)------文件I/O
在尝试看linux内核分析的书时发现很多困难,所以拿起
apue
,继续打基础。读着读着,对
apue
上瘾了。这是题外话,就说这么多。
·
2015-10-31 15:12
unix
linux下dup2的实现
这是
apue
的一个习题,要求不用fcntl来实现dup2.这是我的思路:循环调用dup复制file descriptor,直到与指定的相同。
·
2015-10-31 15:11
linux
apue
编译方法(收集整合)
源码的使用: 1.编辑
apue
.2e文件夹下的Make.defines.linux,修改WKDIR=/home/var/
apue
.2e为你的
apue
·
2015-10-31 15:10
方法
相关书籍 和 Unix环境高级编程 源代码地址
Unix环境高级编程 源代码地址http://www.yendor.com/programming/unix/
apue
/
apue
.html 条码号 题名 责任者
·
2015-10-31 15:23
unix
进程间通信学习
APUE
学习---进程间通信(4)
文章结束给大家来个程序员笑话:[M] 这篇文章介绍下信号量,信号量的功能并不是进程间通信,是进程间同步。在线程部份已提到过信号量的概念,用到的是匿名信号量,能够实现线程间的同步。 上篇文章中 一样Linux提供给我们两种信号量:SystemV的信号量和Posix的信号量。 仍然是
·
2015-10-31 15:08
学习
UNIX基础知识--《
APUE
》第一章笔记
内核:可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。一般而言,我们称这种软件为内核(KERNEL)。它相对较小,位于环境的中心。 UNIX系统调用: 内核,系统调用) Shell,库函数 应用软件 最下层是内核,最上层是应用软件 Shell:Shell是一种特殊的应用程序,它为运行其他应用程序提供了一个接口。它是一个命令行解释器
·
2015-10-31 14:55
unix
APUE
Chapter 5 - Standard I/O Library
5.1. Introduction 5.2. Streams and FILE Objects With the standard I/O library, the discussion centers around streams. Initially, when a stream is created, it has no orientation. If a multibyte I/O
·
2015-10-31 14:06
library
C 关键字 - typedef
转载地址:http://fouri.iteye.com/blog/483974 如某个程序的开头有以下几条语句: #include "
apue
.h"#include
·
2015-10-31 14:58
typedef
APUE
Chapter 4 - Files and Directories
4.1. Introduction 4.2. stat, fstat, and lstat Function #include <sys/stat.h>int stat(const char *restrict pathname, struct stat *restrict buf);int fstat(int filedes, struct stat *buf);int lst
·
2015-10-31 14:54
File
APUE
Source Code - 源代码的编译和使用
APUE
的源代码可以从 www.
apue
book.com下载 2. 解压 tar -xzvf src.tar.gz 预设解压名称为
apue
.2e 3.
·
2015-10-31 14:50
source
APUE
Chapter 3 - File I/O
3.1. Introduction 3.2. File Descriptor To the kernel, all open files are referred to by file descriptors. 对于内核而言,所有打开的文件都通过文件描述符引用。 When we open an existing
·
2015-10-31 14:46
File
APUE
Chapter 2 - UNIX Standardization and Implementations
2.1. Introduction 2.2. UNIX Standardization 2.2.1. ISO C 2.2.2. IEEE POSIX POSIX is a family of standards developed by the IEEE (Institute of Electrical and Electronics Engineers). POSIX stands
·
2015-10-31 14:45
unix
[汇总]
APUE
(Advanced Programming in the Unix Environment) -- UNIX环境高级编程
APUE
Chapter 1 - UNIX System Overview
APUE
Chapter 2 - UNIX Standardization and Implementations
·
2015-10-31 14:44
Environment
【
APUE
】Chapter13 Daemon Processes
这章节内容比较紧凑,主要有5部分:1.守护进程的特点2.守护进程的构造步骤及原理。3.守护进程示例:系统日志守护进程服务syslogd的相关函数。4.Singe-Instance守护进程。5.其他相关内容 1.守护进程的特点守护进程也是unix系统中的一种进程。有大量的系统守护进程,其最主要的特点有两个:(1)系统启动的时候守护进程就跟着起来;只有当系统关闭的时候守护进程才跟着关闭(2)没有con
承续缘
·
2015-10-31 13:00
错误:
apue
.h
编译时提示 "错误:
apue
.h:没有那个文件或目录".
apue
.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。
·
2015-10-31 13:56
错误
linux下《UNIX环境高级编程》(
apue
)源码编译出错的处理方法
http://ssepqhyneg.blog.163.com/blog/static/4105553920106804956179/ 首先需要make一次源代码编辑源码解压生成的
apue
.2e文件夹下的
·
2015-10-31 13:33
linux
APUE
学习笔记 - Chapter 5 Standard I/O Library
1.FILE对象FILE对象包含文件描述符,指向缓冲池的指针,缓冲的大小,已经读入的字节数,错误标志,EOF标志等等。 2.缓冲缓冲的目的是尽可能地减少read和write的调用次数,提升IO系统的性能。总共有三种缓冲方式: 2.1 全缓冲,fully buffered.文件将全量进入缓冲,这是大多数使用的缓冲方式。 2.2 行缓冲
·
2015-10-31 13:39
library
APUE
学习笔记 - Chapter 2 . Unix Standardization and Implementations
1.Unix 的标准 1.1 ISO C 1.2 POSIX( Poratble Operationg System Interface ) &nb
·
2015-10-31 13:38
unix
子父进程交替写(
APUE
)
#include <signal.h>#include <unistd.h>#include <stdio.h>#include "
apue
.h"
·
2015-10-31 13:50
进程
sleep的可靠实现(
APUE
)
sleep使进程一直挂起,直到满足一下两个条件之一: 1、睡眠时间到时; 2、调用进程捕捉到一个信号,并从该信号处理函数返回; 以下是
APUE
中实现sleep函数的源码,坑爹的我看了半天才明白,受伤
·
2015-10-31 13:48
sleep
wait函数和僵尸进程(
APUE
)
wait和waitpid函数原型: 1 #include <sys/wait.h>2 3 pid_t wait(int *status);4 pid_t waitpid(pid_t pid, int *status, int options); 当进程正常或者异常终止时,内核就像其父进程发送SIGHLD信号,因为子进程终止是个异步信号,所以这种信号也是内核向父进程发的异步通知。
·
2015-10-31 13:42
wait
longjmp前后的自动变量 、全局变量和易变变量(
APUE
)
寄存器变量: 当对一个变量频繁被读写时,需要反复访问内存,从而花费大量的存取时间。为此,C语言提供了一种变量,即寄存器变量。这种变量存放在CPU的寄存器中,使用时,不需要访问内存,而直接从寄存器中读写,从而提高效率。寄存器变量的说明符是register。对于循环次数较多的循环控制变量及循环体内反复使用的变量均可定义为寄存器变量,而循环计数是应用寄存器变量的最好候选者。 &n
·
2015-10-31 13:41
long
APUE
读书笔记-第18章-终端I/O
18.1 引言 *终端I/O的用途很广泛,包括用于终端、计算机之间的直接连线、调制解调器以及打印机等等,所以终端I/O系统非常复杂 18.2 综述 *终端I/O有两种不同的工作模式: (1)规范模式输入处理(Canonical mode input processing) (2)非规范模式输入处理(Noncanonical mode input processing) 18
·
2015-10-31 12:48
读书笔记
可重入函数(reentrant function)
可重入函数这一概念早有接触,但一直未有系统的理解,最近阅读《
APUE
》信号一章时,其中讲解很到位,故总结如下。 信号作为一种软中断,能够被进程给捕获,因而也
·
2015-10-31 11:03
function
APUE
学习笔记 - Chapter 16 . Network IPC: Sockets
1.字节序 由于历史的原因,不同的系统架构使用不同的字节序,主要分为大端字节序(Big-Endian)与小端字节序(Little-Endian)。 大端字节序将最高有效位落在最低地址,而小端字节序则将最低有效位落在最低地址上: Big Endian : 低地址 高地址 ------------------------------------
·
2015-10-31 11:36
NetWork
APUE
读书笔记 - Chapter 15 Interprocess Communication
Pipe: 历史原因,造成管道是半双工的,有一些系统的管道已经实现全双工了。管道可以在拥有同一个祖先进程的进程之间进行通信,较常用于父进程与子进程之间的通信。 pipe(3)会返回两个文件描述符,其中,fd[0]表示读接口,fd[1]表示写接口,通常每个进程会根据自己的地位与需要,关闭相应的描述符,以达到管道的功能与目的。 popen
·
2015-10-31 11:36
process
APUE
练习16.3
1 /** 2 *initserver.c 3 **/ 4 5 #include <stdio.h> 6 #include <stdlib.h> 7 #include <sys/socket.h> 8 #include <netinet/in.h> 9 #include <syslog.h> 10 #
·
2015-10-31 11:15
UE
APUE
中的C/S程序
服务器端的程序名为ruptimed,服务名为ruptime,为客户端提供uptime服务,由于ruptime服务是用户自定义的服务,在调用getaddrinfo时出现如下错误: 1 Servname not supported for ai_socktype 我给getaddrinfo函数提供了主机名和服务名,但需要在系统中登记,即将ruptime和端口号写入/etc/services
·
2015-10-31 11:15
C/S
linux进程间通信之管道(
APUE
)
一、管道的特性 管道是UNIX系统IPC的最古老形式,并且所有UNIX系统都提供此种通信机制。但是管道有以下两种局限性: (1)半双工的(即数据只能在一个方向上流动),虽然有系统提供全双工的管道,但是为了可移植性,用户不能假设这种情况; (2)管道只能在具有公共祖先的进程之间使用。 二、管道的创建 管道由pipe函数创建: 1 #include <
·
2015-10-31 11:15
linux
UNIX环境高级编程中的
apue
.h错误
最近在读 Richard Stevens 的大作《UNIX环境高级编程》,相信很多初读此书的人都会与我一样遇到这个问题,编译书中的程序实例时会出现问题,提示 “错误:
apue
.h:没有那个文件或目录”。
·
2015-10-31 11:53
unix
Linux下对后台进程通过kill传递信号不起作用的问题
在阅读
APUE
信号一章时,我遇到Linux下对后台进程通过kill传递信号不起作用的问题 具体情形与如下链接中的老兄一致: http://bbs.csdn.net/topics/390335913?
·
2015-10-31 11:30
linux
fcntl函数
APUE
用另外一个种方法说明了这个问题:实际上,调用dup(oldfd);等效与 fcntl(oldfd, F_DUPFD
·
2015-10-31 10:50
函数
APUE
读书笔记-第17章-高级进程间通信
17.1 引言 *两种高级IPC:基于STREAMS的管道(STREAMS-based pipe)以及UNIX域套接字(UNIX domain socket)可以在进程间传送打开文件描述符。服务进程可以使它们的打开文件描述符与指定的名字相关联,客户进程可以使用这些名字与服务进程通信 17.2 基于STREAMS的管道 *可以用fattach函数给STREAMS管道一个文件系统中的名字
·
2015-10-31 10:38
读书笔记
最近的工作
所以从今年年初始把<<C Primer Plus>>看了一篇, 然后在学习
APUE
·
2015-10-31 10:23
工作
apue
第一遍读后感
大家都知道《UNIX环境高级编程》,评价也一直很高,所以决定读读,以下为本人的所思所感,与大家分享一下。 之前我读书喜欢在博客上记录一些我认为不错的知识点,以便将来查阅。写了一些之后发现,和我料想的完全不一样,当我过了一星期半个月再看这些所谓的“读书笔记”的时候,发现纯粹是知识点的罗列,根本无法提起兴趣去看,更别说记住了,而且没有原书中的上下文,很多知识也很不容易理解。不论是自己看还是与
·
2015-10-31 10:59
读后感
ubuntu下《UNIX环境高级编程》(
apue
.h)编译出错的处理方法
说是少了
apue
.h的头文件,到网上一查,人家说在前言里有源码的下载地址,www.
apue
book.com,我很快下了代码,解压后打开在
apue
.2e中有个include 的文件夹,我在里面找到了
apue
.h
·
2015-10-31 09:49
ubuntu
fork vfork exit _exit
原文地址:http://hi.baidu.com/ikaruga11/blog/item/fb6d75725a8d8d148701b080.html
APUE
上的一个例子:example1 (forkt.c
·
2015-10-31 09:57
fork
APUE
学习笔记一 标准IO库
1 有三种类型的缓冲策略 无缓冲 块缓冲 行缓冲 通常所有文件都是块缓冲的。当文件 I/O操作在文件上发生时,将调用 malloc(3),获得一个缓冲。如果流指向一个终端(通常 stdout),那么它是行缓冲的。标准错误流 stderr 默认总是无 缓冲的。 2 对字符的操作 输入函数: #include<stdio.h> int getc(F
·
2015-10-31 09:16
学习笔记
Linux进程的实际用户ID与有效用户ID
之前在学习
APUE
(《高级UNIX环境编程》),在学习的过程中,对Linux进程的实际用户ID与有效用户ID不是很理解(第一次接触这些概念),直到最近又看了几遍之后,又看了一些网络上的资料,才搞明白。
·
2015-10-31 09:26
linux
编译unix环境高级编程第一个例子出错解决
unix环境高级编程第一个例子ls.c: 01 #include "
apue
.h" 02 #include <dirent.h>
·
2015-10-31 09:17
unix
unix环境高级编程 关于
apue
.h的问题
唉,本来兴致勃勃的买来了被称为圣书的《unix环境高级编程》,结果作者大神还自己写个
apue
.h,唉,在网上找了许多资料,终于解决了 1.首先,到 http://www.
apue
book.com
·
2015-10-31 09:53
unix
读书笔记-
APUE
第三版-(8)进程控制
进程ID 每一个进程都有一个唯一的进程ID。几个特殊进程: 0号进程是内核进程,一般是调度进程swapper。 1号进程init,是用户进程(以root权限执行/sbin/init),负责初始化。 几个重要函数:getpid(进程ID)/getppid(父进程ID)/getuid(进程真有用户ID)/geteuid(进程有效用户ID)/getgid(进程真有用户组ID)/ge
·
2015-10-31 09:47
读书笔记
【
APUE
笔记一】进程相关ID
1 进程相关ID 除了进程ID外,与进行相关的ID主要有六个:实际用户ID、实际组ID、有效用户ID、有效组ID、附加组ID、保存的设置用户ID、保存的设置组ID。 实际用户ID和实际组ID标识进程是属于谁的。这两个字段在登入时取自口令文件中的登入项。 有效用户ID,有效组ID以及附加组ID决定了进程对文件的访问权限。 保存的设置用户ID和保存的设置组ID在执行一个程序时包含
·
2015-10-31 08:18
笔记
LINUX编程学习路线
如果想学习UNIX/LINUX的编程,《
APUE
》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。 然后再看DouglusE.Comer的《
ge23456789
·
2015-10-30 22:00
APUE
学习笔记(五) 进程环境
1.main函数 C程序总是从main函数开始执行,当内核执行C程序时,在调用main函数之前先调用exec函数从内核获取命令行参数和环境变量值 2.进程终止 正常终止: (1)在main函数内执行return语句 (2)调用exit (3)最后一个线程从其启动例程返回 (4)最后一个线程调用pthread_exit 异常中止: (
·
2015-10-30 16:23
学习笔记
《UNIX编程环境》的源代码的第二个版本Ubuntu下编
1.在http://www.
apue
book.com下载源代码 2.
·
2015-10-30 15:39
ubuntu
apue
源代码使用方法
下载源代码,并解压 去http://www.
apue
book.com/下载源代码 wget http://www.
apue
book.com/src.tar.gz -P 
·
2015-10-30 14:33
源代码
UNIX高级环境编程(第二版)程序运行
APUE
中的代码不是download下来就可以直接编译执行的。由于头文件的问题,需要做相关的设置,修改一下相关的文件。
·
2015-10-30 14:33
unix
APUE
读书笔记-第16章-网络IPC: 套接字
16.1 引言 *进程能够通过套接字网络IPC接口和其他进程通信。通过该接口,其他进程运行位置是透明的,它们可以在同一台计算机上也可以在不同的计算机上。实际上,这正是套接字的目标之一:同样的接口既可以用于计算机间通信又可以用于计算机内通信 *16.2 套接字描述符 *要创建一个套接字,可以调用socket函数 int socket(int domain, int type, int
·
2015-10-30 14:57
读书笔记
Linux下关于信号block与unblock的小研究
Linux下当向一个进程发出信号时,从信号产生到进程接收该信号并执行相应操作的过程称为信号的等待过程(呃,根据对
APUE
的理解翻译的)。
·
2015-10-30 14:09
linux
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他