- 博客(12)
- 资源 (4)
- 收藏
- 关注
原创 APUE学习笔记——第十三章 守护进程
1、编程规则 (1)首先调用umask将文件模式创建屏蔽字设置为0.由继承得来的文件模式创建屏蔽字可能会拒绝设置某些权限。例如:若守护进程要创建一个组可读、写的文件,而继承的文件模式创建屏蔽字可能屏蔽了这两种权限,于是所要求的组可读、写就不能起作用。 (2)调用fork,然后使父进程退出(exit)。这样做实现了下面几点:第一,如果该守护进程是作为一条简单shell命令启动的,那么父进程终止使
2013-03-31 18:28:21 1899
原创 APUE学习笔记——第十二章 线程控制
本章学习控制线程行为方面的详细内容,在上章中对线程属性和同步原语属性都取其默认行为,接下来将介绍同一进程中的多个线程之间如何保持数据的私有性,最后讨论基于进程的系统调用如何与线程进行交互。 1、线程限制: Single Unix Specification定义了与线程操作有关的一些限制,和其他的限制一样,可以通过sysconf来查询。和其它的限制使用目的一样,为了应用程序的在不同操作 系
2013-03-29 22:14:29 1535
原创 APUE学习笔记——第十一章 线程
典型的UNIX进程可以看成只有一个控制线程:一个进程在同一时刻只能做一件事情。有了多个控制线程之后,在程序设计时可以把进程设计成在同一时刻能够做不止一件事,每个线程处理各自独立的任务。使用线程有很多好处: (1)、通过为每种事件类型的处理分配单独的线程,能够简化处理异步事件的代码。 (2)、多个线程自动地可以访问相同的存储地址空间和文件描述符 (3)、将一个问题分解为多个程序,改善整个程序的
2013-03-28 16:27:51 1226
原创 APUE学习笔记—— 信号实现系统sleep和system函数,解决进程竞争实例
1、实现系统sleep函数 此函数使调用进程被挂起,直到满足下列条件之一:(1)已经经过seconds所指定的墙上时钟时间(2)调用进程捕捉到一个信号并从信号处理程序返回。 以下的可靠实现并没有考虑到两个alarm交互作用的情况 可靠实现如下: #include #include #include #include void sig_alarm(){} int slee
2013-03-26 17:06:19 1767
原创 APUE学习笔记——第十章 信号
1、信号 信号是软件中断,很多比较重要的应用程序都需要处理信号,信号提供了一种处理异步事件的方法,例如:终端用户键入中断键,则会通过信号机制 停止一个程序。 每个信号都有一个名字,这些名字都是以SIG开头,在头文件中,信号都被定义为正整数。 很多条件可以产生信号: (1)当用户按某些终端键时,引发终端产生的信号。按Ctrl+C键,通常产生SIGINT中断信号 (2)硬件异常产生信号。例
2013-03-26 16:06:23 1182
原创 APUE学习笔记——第八章 进程控制
本章的重点内容比较多,fork函数,wait和waitpid函数,exec函数,system函数等。 1、进程标识符 #include pid_t getpid(void); //调用进程的进程ID pid_t getppid(void); //调用进程的父进程ID gid_t getgid(void); //调用进程的实际组ID gid_t getegid(v
2013-03-24 19:11:42 1502
原创 APUE学习笔记——第七章 进程环境
1、main函数 原型:int main(int argc, char *argv[]) 其中argc是命令行参数的数目,argv是指向参数的各个指针构成的数组。 main函数的命令行参数代码如下: #include #include int main(int argc,char *argv[]){ int i; for(i = 0 ; i < argc ; i ++
2013-03-24 14:18:32 1032
原创 APUE学习笔记——第六章系统数据文件和信息
1、口令文件 该文件主要是针对unix中的/etc/passwd文件,该文件中存储用户名、用户密码、用户ID、用户主组ID,用户的昵称、用户的家目录、用户Shell这7个信息,但是用户密码现在已经不存储在该文件下,因为该文件所有人都能有读权限,所以不安全,密码改存在/etc/shadow文件中。 Linux中该文件的数据形式:xkey:x:700:100:xkey's color:/home/
2013-03-23 18:15:06 1576
原创 APUE学习笔记——标准I/O库
1、标准输入、输出、错误 在#include 头文件下有三个文件描述符STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO 本章也有三个文件指针,在#include头文件中,分别是stdin,stdout,stderr。 2、格式化I/O函数 2.1 格式化输入 #include int scanf(const char *format, ...);// i
2013-03-22 17:10:40 982
原创 APUE学习笔记——第四章 文件和目录
1、stat、fstat、lstat函数 #include int stat(const char *pathname, struct stat *buf) int fstat(int filedes, struct stat *buf) int lstat(const char *pathname, struct stat *buf) stat与lstat函数都需要给出文件的绝对路径,
2013-03-21 13:16:24 1118
原创 APUE学习笔记——第三章文件I/O
1、文件描述符:意思就是unix 环境下用open函数打开一个文件,正确执行后会返回个整型数值,这个就叫文件描述符。(个人理解的,解释可能完全不对) 基本的三种文件描述符:STDIN_FILENO (0)标准输入,STDOUT_FILENO(1) 标准输出,STDERR_FILENO(2) 标准错误输出。 常量的定义基本上都在头文件中。 2、函数介绍:
2013-03-20 21:39:06 1166
原创 关于CentOS6.0 新增用户后出现passwd: 鉴定令牌操作错误
今天在CentOS环境下通过useradd -u 700 -g users somebody来新增一个普通帐号,然后使用passwd somebody命令来为该新用户添加密码,但是始终报passwd: 鉴定令牌操作错误。下面对该错误可能出现的三种情况进行分析: 第一种:/usr/bin/passwd 的权限中没有添加s即SUID特殊权限 即:-rwxr-xr-x. 1
2013-03-09 19:35:02 9724 3
Spring JDBC实现代码
2012-07-27
分酒问题 三个酒杯A B C分别可装8升、5升、3升酒,开始B C装满了酒,在没有其它工具的情况下,将酒平分
2009-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人