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
《Unix环境高级编程》
[置顶]深入浅出---unix多进程编程之wait()和waitpid()函数
分类:unix/linux学习篇
unix环境高级编程
C/C++学习2011-11-2123:43995人阅读评论(7)收藏举报Wait和waipid函数 当一个进程正常或异常终止的时候,内核就像其父进程发送
wxl1986622
·
2011-11-25 02:00
编程
unix
unix
File
null
Signal
作业
C/C++学习
unix/linux学习篇
环境高级编程
深入浅出---unix多进程编程之wait()和waitpid()函数
分类:unix/linux学习篇
unix环境高级编程
C/C++学习2011-11-2123:43818人阅读评论(6)收藏举报Wait和waipid函数 当一个进程正常或异常终止的时候,内核就像其父进程发送
fbfsber008
·
2011-11-24 11:00
unix
C/C++学习
环境高级编程
unix/linux学习篇
多线程 一个mutex互斥量实例(
unix环境高级编程
)
/* *mutex.c * *Createdon:2011-11-23 *Author:lc */ #include #include #include #include #include #include structfoo{ intcount; pthread_mutex_tmutex; }; structfoo*fp; structfoo*init_foo(){ structfoo*fp
psvoldemort
·
2011-11-22 19:00
linux下C语言的http请求和信号注册简单例子
/* * http.c by Onway 2011-11-14 * 1,间隔1秒的两次connect避免瞬间造成的错误 * 2,网络读写超时限制参考自《
UNIX环境高级编程
》第二版中文版程序清单10-8
Onway
·
2011-11-22 11:00
[置顶] 深入浅出--UNIX多进程编程之fork()函数
0前言上周都在看都在学习
unix环境高级编程
的第八章——进程控制。也就是这一章中,让我理解了unix中一些进程的原理。下面我就主要按照进程中最重要的三个函数来进行讲解。
wallwind
·
2011-11-21 11:00
编程
c
unix
活动
图形
output
网络书
分别是《TCP/IP详解》三卷本,《用TCP/IP进行网际互连》三卷本,《TCP/IP指南》+《IPv6》四卷本其中TCP/IP详解的作者还写了另外2本经典著作,《
Unix环境高级编程
》,《Unix网络编程
tqsheng
·
2011-11-18 20:00
unix环境高级编程
-undefined reference to 'pthread_create'问题解决
笔者一直在学习
unix环境高级编程
。第十一章为线程编程。第一个程序就是打印线程ID。
wallwind
·
2011-11-18 19:00
unix环境高级编程
学习笔记5 标准IO库
第五章标准IO库[仅作学习笔记,其中可能有误解] 1.标准IO处理很多细节,如缓冲区分配,优化长度执行IO等,与系统调用的文件IO形成对比 2.标准IO是围绕流进行的(stream) 3.流的定向 +标准IO文件流可用于单字节和多字节(宽) +初始流是不定向的,当使用宽定向函数时就将流设置为宽定向,若用单字节IO函数就为字节定向 #include FILE*freopen(constchar*r
kangquan2008
·
2011-11-15 17:00
unix环境高级编程
学习笔记4
//unix系统调用的文件操作函数是一般不带f开头的,当既有不带,也有带的时候,带的通常是有以文件描述符为参数的函数。如:stat、fstat 第四章文件和目录[仅作学习笔记,其中可能有误解] 1.文件的属性 stat、fstat、lstat structstat{ mode_tst_mode;//文件类型和权限(如:S_IFEGandS_IRUSR) ino_tst_ino;//inode
kangquan2008
·
2011-11-14 19:00
编程
unix
struct
测试
Access
symlink
unix环境高级编程
学习笔记3
第三章文件IO[仅作学习笔记,其中可能有误解] 1.unix系统中的IO是POSIX.1和SingleUNIXSPecification中的一部分,不是ISOC的组成部分。 这一章的IO函数是不带缓冲的,与ISO(标准)C的带缓冲IO相对应。 2.对于内核来讲,所有打开的文件都通过文件描述符[非负整数]来引用。当打开一个文件时,有内核返回一个描述符给进程。 3.0与标准输入相关联1与标准输
kangquan2008
·
2011-11-14 19:00
数据结构
编程
unix
IO
cmd
磁盘
unix环境高级编程
-第七章-进程环境
这两天都没写博客,主要是我想改变一下方法吧。不想一节节的读了,我想把一个整章看好了,然后进行思考,然后再进行编辑写在博客里。我觉得这样可以省的时间来思考,写程序。把每章中最主要的部门拿出来。算是第二遍复习。可以加深我的印象吧。1进程终止进程正常终止:viewplaincopytoclipboardprint?#include voidexit(intstatus); void_Exit(int
wallwind
·
2011-11-14 12:00
编程
unix
gcc
存储
buffer
output
unix环境高级编程
-7-进程环境
这两天都没写博客,主要是我想改变一下方法吧。不想一节节的读了,我想把一个整章看好了,然后进行思考,然后再进行编辑写在博客里。我觉得这样可以省的时间来思考,写程序。把每章中最主要的部门拿出来。算是第二遍复习。可以加深我的印象吧。1进程终止进程正常终止:#include voidexit(intstatus); void_Exit(intstatus); #include void_exit(
wallwind
·
2011-11-13 18:00
unix环境高级编程
-5.9-二进制I/O
上一节,我们知道对于读或者写都是一个一个字节,或者一行行的。getc和putc是通过字节来处理。fputs和fgets是一行的,但是遇到null就停止了。下面介绍fread和fwrite函数原型:#include size_tfread(void*restrictptr,size_tsize,size_tnobj,FILE*restrictfp); size_tfwrite(void*rest
wallwind
·
2011-11-08 22:00
unix环境高级编程
-5.8-标准I/O的效率。
使用上一节所述的函数。我们能对标准的I/O的效率有所了解。请看下面的程序#include"apue.h" intmain(void) { intc; while((c=getc(stdin))!=EOF) { if(putc(c,stdout)==EOF) err_sys("outputerror"); if(ferror(stdin)) err_sys("inputerror"); exit
wallwind
·
2011-11-06 21:00
编程
c
unix
null
input
output
unix环境高级编程
-5.7-每行一次I/O
下面两个函数提供每次输入一行的功能 #include char*fgets(char*restrictbuf,intn,FILE*restrictfp); char*gets(char*buf); 两个返回值:若成功返回buf,若已达到文件结尾或出错则返回NULL;char*fgets(char*s,intcount,FILE*stream)[Function]Thefgetsfunction
wallwind
·
2011-11-06 19:00
unix环境高级编程
-5.6-读和写流
一旦打开了一个流,则可在三种不同的类型的非格式化I/O,中进行选择,对其进行读、写操作:(1)每次一个字符的I/O.一次读或写一个字符。则标准的io函数处理所有缓冲。(2)每次一行的IO,如果想要一次读或写遗憾,则使用fgets和fputs函数。每行都以一个换行符终止。当调用fgets,要说明最大处理行长。(3)直接IO,fread和fwrite函数支持这种类型的IO,每次io操作读或者写某种数量
wallwind
·
2011-11-06 16:00
[置顶]
unix环境高级编程
-5.4-缓冲
提到缓冲这个概念,大家都知道非常熟悉不过了,我们在写程序的时候,比如java,C++都会涉及到一些缓冲的概念,那么到底缓冲有什么好的作用的。 其实缓冲在unix的操作系统里,就是为了减少read和write的调用次数。在第三章中,对不同缓冲区的长度设置,执行IO所要的cpu时间量是不一样的。他也对每个io流自动的进行缓冲管理,从而避免了应用程序需要考虑这一点所带来的麻烦。不幸的是,标准I/O库最令
wallwind
·
2011-11-01 00:00
编程
unix
function
Stream
File
null
unix环境高级编程
-5.2~3标准I/O库。
5.1引言I/O对于操作系统是一个非常重要的。无论是各种类型的数据库。5.2流和FILE对象第三章,我们可以回忆到I/O函数都是文件描述符的。即是打开一个文件,返回一个文件描述符。然后对文件描述符进行后续的I/O操作。而对于标准的I/O库,操作则围绕流进行的!当用标准I/O库打开或创建一个文件的时候,我们已经是用一个流与一个文件相关联。标准io文件流可用于单字节和多字节字符集。流的定向决定了所读,
wallwind
·
2011-10-31 22:00
编程
function
unix
Stream
File
encoding
进程的内存分配情况
本文出自:http://blog.csdn.net/hongchangfirst进程地址空间中典型的存储区域分配情况如下图所示(出自《
UNIX环境高级编程
》): 从图中可以看出:从低地址到高地址分别内存区分别为
hongchangfirst
·
2011-10-29 23:00
【图解】Linux下C程序进程地址空间布局
先看一张教材上的示意图(来源,《
UNIX环境高级编程
》一书),显示了进程地址空间中典型的存储区域分配情况。
delphi308
·
2011-10-29 10:00
c
数据分析
linux
object
unix
程序开发
read/write的包裹函数
《
Unix环境高级编程
》ssize_twriten(intfd,constvoid*buf,size_tnum) { ssize_tres; size_tn; constchar*ptr; n=num
iamlate
·
2011-10-28 23:00
unix环境高级编程
-chdir、fchdir和getcwd函数。
每个进程都有一个当前的工作目录,此目录是搜索所有相对路径的起点。进程通过调用chdir或fcdir函数可以更改当前工作目录。进程通过调用chdir或者fchdir函数可以更改当前工作目录。 #include intchdir(constchar*pathname); intfchdir(intfiledes); 这两个函数分别用文件名和文件描述符来制定新的工作目录。先查看GNUC手册。 intch
wallwind
·
2011-10-27 22:00
编程
function
unix
buffer
Descriptor
Allocation
unix环境高级编程
-4.21-读目录
本节主要讲述了对unix系统对读目录的讲述。首先了解一下了解一下下面的函数#include DIR*opendir(constchar*pathname); 成功返回指针,错误返回null; structdirent*readdir(DIR*dp);//成功返回其指针,若在目录结尾或出错则返回null; voidrewinddir(DIR*dp); intclosedir(DIR*dp);
wallwind
·
2011-10-27 21:00
编程
unix
function
struct
null
structure
遍历文件(linux)
最近在看
unix环境高级编程
,一开始看的是电子版,觉得在电脑上看这个,真的不是特别的舒服,就节约了生活费买了一本,花了我¥67.6,真是有点贵啊,758页我女朋友说这太厚了点吧!
ccjjnn19890720
·
2011-10-27 21:00
Linux下C程序进程地址空间布局
先看一张教材上的示意图(来源,《
UNIX环境高级编程
》一书),显示了进程地址空间中典型的存储区域分配情况。
zhongjiekangping
·
2011-10-27 12:00
unix环境高级编程
-mkdir和rmdir函数
4.20mkdir和rmdir函数#include intmkdir(constchar*path,mode_tmode);成功返回0,失败-1.此函数创建了一个新的空目录。其中.和..目录项制动创建的。所指定的文件访问的文件访问权限mode由进程的文件模式创建屏蔽字的修改。查看GNUCintmkdir(constchar*filename,modetmode)[Function]Themkdi
wallwind
·
2011-10-26 21:00
编程
unix
function
File
System
permissions
进程(组)/线程(组)/会话
可以参看
UNIX环境高级编程
的相关章节。为了搞清楚进程组之间的关系,我们做如下的实验:编写程序:/*test.c*/ #include"..
SunnyBeiKe
·
2011-10-26 16:00
session
shell
unix
cmd
null
bash
unix环境高级编程
-4.8-utime函数
上一节,我们描述了对文件操作的三种时间,这一节主要讲述utime函数,既对一个文件的访问和修改时间。#include intutime(constchar*pathname,conststructutimbuf*times); 成功返回0,失败返回-1;此函数所使用的数据结构structutimbuf{ time_tactime;/*accesstime*/ time_tmodtime;/mod
wallwind
·
2011-10-25 21:00
数据结构
编程
unix
struct
Access
日历
unix环境高级编程
-4.18-文件时间
在unix系统中,每个文件要保持三个时间字段,他们的意义分别如下:字段说明例子ls选项st_atimest_mtimest_time文件数据的最后访问时间文件按数据的最后修改时间i节点状体的最后更改时间readwritechmo,chown-u默认-c注意st_mtime指的是文件内容的最后修改时间,而st_ctime指的是i节点的最后修改时间。i节点之前讲过比如文件访问权限,用户ID,文件的连接
wallwind
·
2011-10-25 19:00
编程
unix
Access
弄懂dup2函数
好长一段时间,都没弄明白dup2(intoldfd,intnewfd),到底是从哪里复制到哪里,主要是《
unix环境高级编程
》一书翻译的太差,因为对我形成了长期的误导!
laojing123
·
2011-10-25 11:00
编程
unix
unix环境高级编程
-4.17-sylmink和readlink函数
本节将介绍symlink和readlink函数的一些基本原理。symlink函数用来创建一个符号链接#include intsymlink(constchar*actualpath,constchar*sympath); 查看GNUC文档intsymlink(constchar*oldname,constchar*newname)[Function]Thesymlinkfunctionmakes
wallwind
·
2011-10-24 22:00
unix环境高级编程
-4.16-符号链接
符号链接是指向一个文件的间接指针。他与上一节所诉的硬链接不同。硬链接直接指向文件的i节点。引入符号链接的原因是为了避开硬链接的一些限制。硬链接通常要求链接和文件位于同一文件系统中。只有超级用户才能创建指向目录的硬链接。对符号链接以及他指向何种对象并无任何文件系统限制。任何用户都可以创建指向目录的符号链接。符号链接一般用于将一个文件或这个目录结构移动到系统中的另一个位置。 当使用以名字引用文件的函数
wallwind
·
2011-10-24 22:00
编程
linux
unix
File
Access
【图解】Linux下C程序进程地址空间布局
先看一张教材上的示意图(来源,《
UNIX环境高级编程
》一书),显示了进程地址空间中典型的存储区域
embedded_hunter
·
2011-10-22 23:00
c
linux
object
unix
嵌入式
程序开发
unix环境高级编程
-4.15-link,unlink,remove和rename函数
如上节所述,任何一个文件可以有多个目录项指向其i节点。创建一个指向现有文件的链接的方法是使用link函数。#include intlink(constchar*existingpath,constchar*newpath); 若成功返回0,出错则返回-1;intlink(constchar*oldname,constchar*newname)[Function]Thelinkfunctionma
wallwind
·
2011-10-22 18:00
编程
function
unix
File
System
filesystems
unix环境高级编程
-4.14-文件系统
文件系统为了说明文件连接的概念,先要介绍UNIX文件系统的基本结构,同时,了解i节点和志向i将诶点的目录项之间的区别也是很有益处的。目前正在使用的UNIX文件系统有多种实现。例如,SOLARIS支持多种不同类型的磁盘文件系统:传统的机遇BSD的unix文件系统,ufs,读写DOS格式哈软盘的文件系统,以及读CD的文件系统。本节讨论的是UFS。我们可以把一个磁盘氛围一个或者多个分区。每个分区可以包含
wallwind
·
2011-10-22 16:00
编程
unix
Solaris
dos
delete
磁盘
C、C++时间与日期函数
由于自己实际工作学习中没怎么用时间和日期的函数,在看
Unix环境高级编程
6.10节和Python的time模块时,总感觉这些东西总是连不成串。还是从C开始理一理吧。
dbzhang800 lyxint
·
2011-10-22 06:00
函数
时间
C、C++时间与日期函数
由于自己实际工作学习中没怎么用时间和日期的函数,在看
Unix环境高级编程
6.10节和Python的time模块时,总感觉这些东西总是连不成串。还是从C开始理一理吧。
dbzhang800
·
2011-10-21 23:00
C++
c
unix
struct
日历
编译器
[置顶]
unix环境高级编程
-文件长度与截断
4.12文件长度stat的结构成员st_size表示以字节为单位的文件长度。此字段只对普通文件、目录文件和符号链接有意义。对于普通文件,其文件的长度可以是0,在读此文件的时候,将得到文件结束指示。对于目录,文件长度通常是一个数的倍数,对于符号链接,文件长度是文件明中的世界字节数。 现今,大多数UNIX系统提供的字段st_blksize和st_blocks。其中第一个是对文件I/O较为合适的的块长度
wallwind
·
2011-10-21 23:00
编程
unix
function
File
测试
磁盘
[置顶]
unix环境高级编程
-4.11-chown,fchown和lchown函数
接下来讲的函数主要是用来更改文件的用户ID和,组ID。#include intchown(constchar*pathname,uid_towner,gid_tgroup); intfchown(intfiledes,uid_towner,gid_tgrowp); intlchown(constchar*pathname,uid_towner,gid_tgroup); 成功返回0,若出错则
wallwind
·
2011-10-21 22:00
编程
unix
function
File
System
behavior
[置顶]
unix环境高级编程
-4.9-chmod,fchmod函数和粘住位
这两个函数可以更改我们现有文件的访问权限。#include intchmod(constchar*pathname,mode_tmode); intfchmod(intfiledes,mode_tmode); 以上函数返回0是表示成功,-1,表示不成功。查看GNUC手册:intchmod(constchar*filename,modetmode)[Function]Thechmodfuncti
wallwind
·
2011-10-20 20:00
编程
function
unix
File
Access
permissions
[置顶]
unix环境高级编程
-4.8-umask函数
自此我们已经说明了每个文件相关联的9个访问权限位。在此基础上,我们可以说明与每个进程相关联的文件模式创新屏蔽字。umask函数为进程设置文件模式创建屏蔽字,并返回以前的值。#include mode_tumask(mode_tcmask); 查看GNUC手册。mode_tumask(modetmask)[Function]Theumaskfunctionsetsthefilecreationmas
wallwind
·
2011-10-20 19:00
[置顶]
unix环境高级编程
-4.7-access函数
如前所述,当用open函数打开一个文件的时候,内核以进程的有效用户ID和有效组ID,为基础执行期访问权限测试。有时候,进程也希望按期实际用户ID,和实际组ID,来测试访问能力。access函数是按照实际用户ID和实际组ID,进行访问权限测试的。 #include intaccess(constchar*pathname,intmode); 返回值:成功返回0,出错返回-1查看GNUC函数手册i
wallwind
·
2011-10-20 11:00
编程
unix
function
测试
File
Access
关于最近
稍微总结下学习生活,开学以来,学习了windows系统编程,看了windows核心编程(进行中),看了
unix环境高级编程
(看的有点粗糙),正在看UNIX网络编程,winform做了个
tibaloga
·
2011-10-19 23:00
[置顶]
unix环境高级编程
-系统是如何设置文件权限的
4.4设置用户ID和设置组ID与一个进程相关联的ID有6个或更多,如下表所示: 与每个进程相关联的用户ID和组ID实际用户ID实际组ID我们实际上是谁,这两个字段在登录时取自口令文件中的登录项,通常在登录会话期间这些值不会改变,但root进程可改变他们。有效用户ID有效组ID附加组ID规定其文件访问权限,用户文件访问权限检查。保存的设置用户ID保存的设置组ID 实际用户ID,实际组ID标示我们是
wallwind
·
2011-10-19 21:00
[置顶]
unix环境高级编程
-4.3-文件类型
我们都知道在unix系统中,文件分为两种--------普通文件和目录。unix大多数都是这些文件类型。但是也有另外一种。下面简单介绍一下文件类型:(1)普通文件。最常见的文件类型。(2)目录文件。这种文件包含了其他文件的名字以及指向与这些文件有关的信息指针。对一个目录文件具有读权限的任一进程都可以读该目录的内容,但只有内核可以直接写目录文件。(3)块特殊文件。这种文件类型提供对设备的带缓冲的访问
wallwind
·
2011-10-18 23:00
编程
unix
struct
网络
存储
character
unix环境高级编程
-文件和目录-stat,fstate,lstat函数
stat,fstate,lstat函数首先看一下函数定义#include intstat(constchar*restrictpathname,structstat*restrictbuf) intfstat(intfiledes,structstat*buf); intlstat(constchar*restrictpathname,structstat*restrictbuf);下面来看一
wallwind
·
2011-10-18 22:00
编程
unix
struct
function
Path
attributes
unix环境高级编程
-文件读取,同步机制
3.12dup和dup2函数下面的两个函数用来赋值一个现存的文件描述符#include intdup(intfiledes); intdup2(intfiledes,intfiledes2); 成功则返回新的文件描述符,若出错则返回-1; 查看了gunc手册intdup(intold)[Function]Thisfunctioncopiesdescriptoroldtothefirstava
wallwind
·
2011-10-18 00:00
thread
编程
unix
function
resources
Descriptor
unix环境高级编程
-3.11-原子操作
上一节,我们学习了多个进程打开同一个文件,和单个进程打开多个文件原理。1.填写至一个文件早期的unix系统将数据添加文件尾端如下代码if(lseek(fd,0l,2)<0 err_sys("lseekerror"); if(write(fd,buf,100)!=0 err_sys("writeerror");对单个进程可正常工作,但是多个进程就不能了。UNIX提供了一种方法是这种操作成为原子操作,
wallwind
·
2011-10-17 22:00
编程
unix
File
Parameters
Descriptor
output
unix环境高级编程
-3.10-文件共享
unix系统支持在不同进程间共享打开的文件。 内核使用三种数据结果表示打开的文件。(1)每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件的描述符表,可将其视为一个矢量,每个描述符占用一项。 每个文件描述符相关连的是: 文件描述符标志 指向一个文件表项的指针。(2)内核为所有打开文件维持一张文件表。每个文件表项包含: 文件状态标志(包含读写,填写,同
wallwind
·
2011-10-17 21:00
unix环境高级编程
-2.2-unix标准化
2.2.1IOSCISOC标准定义的头文件ISOC标准定义的头文件(24项) ---------------------- 验证程序断言 ---------------------- 支持复数算术运算 ---------------------- 字符类型 ---------------------- 出错码 -------------
wallwind
·
2011-10-16 14:00
编程
数据库
正则表达式
unix
internet
math.h
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
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
其他