2012年8月3日

Chapter 9 进程关系

摘要: 1.终端登录登录过程:内核--->init[进程ID=1]--->(fork)init--->(exec)getty--->(exec)--->login登录结束过程:进程1=init->登录shell<->终端设备驱动程序<->使用终端的用户2.网络登录如下图3.进程组1).每个进程属于一个进程组,这个进程组从同样的终端获得信号 函数getpgrp返回调用进程的进程组ID,结果也用pid_t表示:#include <unistd.h>pid_t getpgrp(void);//返回调用进程的进程组ID。2)SUS定义ge 阅读全文

posted @ 2012-08-03 20:25 as_ 阅读(613) 评论(2) 推荐(0) 编辑

Chapter 8 进程控制

摘要: 1.进程标识符要点:1).每个进程都有一个非负整型表示的唯一的进程ID。因为进程ID是一个总是唯一的,常将其用作其他标示符的一部分以保证其唯一性。例如:应用程序有时包含进程ID作为文件名的一部分,来产生唯一的文件名。2).虽然唯一,但是进程ID可以重用3).进程ID 0通常是调用进程,常常称为对换程序(swapper)。在硬盘上没有对应于这个进程的程序,它是内核的一部分而被熟知为一个系统进程。进程ID 1通常是init进程,在启动过程结束后被内核调用。下列函数返回这些标识符:#include <unistd.h>pid_t getpid(void); ... 阅读全文

posted @ 2012-08-03 17:33 as_ 阅读(530) 评论(0) 推荐(0) 编辑

Chapter 7 进程环境

摘要: 1.main函数C函数总是从执行一个名为main的函数开始。main函数的原型为int main(int argc, char *argv[]); 其中 argc是命令行参数的数量而,argv是参数指针的数组。2.进程终止有8种方法终止一个进程。普通终止有5种:1).从main函数中返回;2).调用exit;3).调用_exit或_Exit;4).最后线程从启动例程(eg:start函数)返回;5).从最后线程里调用pthread_exit异常终止有3种:6).调用abort7).收到一个信号8).最后线程回应一个取消请求Exit 函数三个普通终止程序的函数:_exit和_Exit从内核立即返 阅读全文

posted @ 2012-08-03 14:26 as_ 阅读(358) 评论(0) 推荐(0) 编辑

Chapter 6 系统数据文件和信息

摘要: 1.口令文件出于安全考虑,用户登录密码在/etc/shadow文件中加密。由spwd结构描述,加密是one-way加密算法,意思是你不能通过加密后的密码得出原密码,而只能通过原密码去验证是否正确,提供了相似的访问函数。但是shadow中的用户加密密码是不可读出的。1).POSIX.1只定义了两个获取口令文件相的函数。在给出用户登录名或者数值用户ID,这两个函数允许我们通过查找相关项#include <pwd.h>struct passwd *getpwuid(uid_t uid);struct passwd *getpwnam(const char *name);//两者成功都返回 阅读全文

posted @ 2012-08-03 13:04 as_ 阅读(631) 评论(0) 推荐(0) 编辑

Chapter 5 标准I/O库

摘要: 1.流和FILE对象对于国际字符集,一个字符可以由一个以上的字节来表示。标准I/O文件流可以用来操作单字节和多字节(宽,wide)字符集。一个流的方向(orientation)决定了字符是以单字节还是多字节的方式读取,当一个流被创建时,它没有方向。如一个多字节I/O函数(见<wchar.h>)用在了没有方向的流上,那么流的方向会设为面向宽字符的。如果一个字节I/O函数用在一个没有方向的流上,那么流的方向会设为面向字节的。只有两个函数可以在设置后改变这个方向。freopen函数(简单说明)将会清除一个流的方向,而 fwide函数用来设置一个流的方向。#include <stdi 阅读全文

posted @ 2012-08-03 11:46 as_ 阅读(760) 评论(0) 推荐(0) 编辑

导航