思路:在unix系统中有一个名为utmp的文件,里面存着当前登录到系统中用户的信息。utmp这个文件里面保存的是结构数组,数组元素是utmp类型的结构。实现who命令,只要依次从utmp文件中读出utmp类型的结构体,然后通过合适的方式将它显示出来即可。如果每一次只从文件里面读一个结构体数据,那么每一个结构体都要进行依次系统调用。而又因为系统调用比较耗时(涉及到用户态到核心态的切换),所以这样会造...
分类:
系统相关 时间:
2014-10-13 22:48:47
阅读次数:
265
首先来看一段从《UNIX环境高级编程》中摘录的一段非常有意思的代码。借此我们再来谈谈fork()函数的一些问题。
#include "apue.h"
static void charatatime(char*);
int
main(void)
{
pid_t pid;
if((pid=fork())<0){
err_sys("fork error");
}else ...
分类:
其他好文 时间:
2014-10-12 23:16:58
阅读次数:
278
1.函数sigaction
sigaction函数的功能是检查或修改与指定信号相关联的处理动作。其函数原型如下:
#inlcude
int sigaction(int signo,const struct sigaction * restrict act,struct sigaction * restrict act);
其中参数signo是要检测或修改其具体动作的信号编号。若act指针...
分类:
其他好文 时间:
2014-10-11 20:10:26
阅读次数:
350
1.信号的概念
信号时软中断,它提供了一种处理异步时间的方法。
很多条件都会产生信号:
(1)用户按某些键时,引发终端产生信号。
(2)硬件异常产生信号:除数0,无效的内存引用等。
(3)进程调用kill,可以将任意信号发送给任意进程或进程组。
(4)当检测到某种软件条件已经发生时。例如SIGURG,SIGPIPE和SIGALRM。
当某种信号出现时,可以告诉内核使用下列三种方式来处...
分类:
其他好文 时间:
2014-10-11 13:54:05
阅读次数:
202
Unix环境高级编程(第三版) 代码编译本文地址:http://blog.csdn.net/caroline_wendy时间:2014.10.21. 下载代码:http://www.apuebook.com/code3e.html2. 安装依赖库:sudo apt-get install libbsd-dev 3. 进入下载目录make4. 复制头文件和动态链接库sudo cp ./include...
分类:
系统相关 时间:
2014-10-03 00:18:43
阅读次数:
467
人在学unix,但是感觉入不了门,除了《unix环境高级编程》,还有其他好书籍吗我感肯定你对unix这个系统是不怎么了解的,你先把unix环境高级编程放放吧,先看看鸟哥的linux私房菜或者其他入门级的书,对unix和类unix系统有一个大概的了解吧,把C语言学精了,推荐C和指针,C缺陷,C专家编程...
分类:
其他好文 时间:
2014-10-01 21:28:31
阅读次数:
112
1.进程组
每个进程除了有一进程ID之外,还属于一个进程组。进程组中的各个进程接受来自同一终端的各种信号。每个进程组有唯一的进程组ID。
#include
pid_t getpgrp(void)//得到调用进程的进程组ID
每个进程组都有一个组长。组长进程的进程组ID等于其进程ID。
进程可以调用setpgid加入一个现有的进程组或者创建一个新的进程组。
#include
int...
分类:
其他好文 时间:
2014-09-29 00:00:56
阅读次数:
202
1.从当前用户转到root用户:直接输入su命令,然后输入root密码,如果之前没有设置root命令密码会登陆不成功,这里需要命令sudo passwd命令设置密码,然后按照上面输入就成;从root命令转普通用户:使用exit命令就可以。使用logout会有问题bash: logout: not l...
分类:
其他好文 时间:
2014-09-26 00:26:07
阅读次数:
200
1.进程标识
每个进程都有非负整型标示的唯一进程ID。系统中有一些特殊的进程,如ID为0的进程为调度进程,常被称为交换进程(swapper)。进程ID为1的进程为init进程,此进程负责启动UNIX系统。init进程是一个普通的用户进程,但是它是以超级用户权限运行的。init进程会成为所有孤儿进程(父进程已死亡的进程)的父进程。
除了进程ID,UNIX进程还有其他一些标示符。他们可以通过下列函...
分类:
其他好文 时间:
2014-09-25 17:41:55
阅读次数:
220
1 Computer Systems: A Programmer's Perspective (深入理解计算机系统)2Advanced Programming in the UNIX Environment (UNIX环境高级编程)3 Introduction to Algorithms (算法导论...
分类:
其他好文 时间:
2014-09-24 15:46:46
阅读次数:
153