Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46675
  • 博文数量: 5
  • 博客积分: 35
  • 博客等级: 民兵
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-16 17:40
文章分类

全部博文(5)

文章存档

2017年(1)

2016年(1)

2015年(2)

2013年(1)

我的朋友

分类: C/C++

2017-01-12 13:31:05

    今天看书看都是些基础概念,具体得在书后面在介绍了,那就一起了解一下吧。。。
用户标识
用户ID
    在之前文章中看见了/etc/passwd文件有用户ID栏,是一个数值,这就是系统中标识用户数字,写程序运行时操作权限大半是由用户ID而来,需要了解就亮点:一、次数值是唯一且用户不能修改,是系统分配数值(可手动指定)。二、系统中特殊用户ID是0,root用户用户ID,这是超级用户权限;
组ID
    在passwd文件中还包括组ID值,也是一个数值;设置组ID也比较好理解,例如:在一个单位里面,需要分部门管理员工,这样有利于各部门内人员使用或者维护本部门业务,其他部门人员不能掺杂其中,而每个员工就相当于一个用户ID,部门就相当于一个组ID;
    组文件信息存储于/etc/group
    管理命令可以看看这篇文章http://hchmsguo.iteye.com/blog/1275186

    使用gcc -c uid.c -o uid.o;gcc uid.o apue.o -o uid编译命令编译:

    我用户ID和组ID都是root,比较特殊。
附加组ID
    比较好理解这个参数,就拿上边举例子来说,一个单位里,可能会有这种员工,他既是开发部,又是销售中心员工,自由人,那他就同时具备了这两个组权利,而且在Linux中最少支持16附加组哦!

信号
    信号是通知进程一种技术手段,在后面进程间通讯会使用到信号机制,很好解决了进程间控制通讯;一般程序获取信号后就如何处理信号有三种选择:
    1、忽略信号,不建议,选择忽略之后进程会出现什么情况都未知啊!
    2、按照系统默认方式处理,可选,但是操作系统本身设计时候这方面就必须保守一些,不然内存越界访问之类信号也不使程序崩溃那系统稳定性就要受损了,不是分建议选;
    3、提供一个函数,信号发生时则调用该函数,这被称为捕捉该信号。建议;不解释!
    因为后面还要详细章节讲这个,我们直接看看书里给程序吧:

    使用编译命令gcc -c signal.c -o signal.o;gcc apue.o signal.o -o signal编译:
    运行结果如下(左边运行./signal,右边使用kill命令发送信号给左边进程,看输出反应):

    可以看出发送SIGINT信号时候程序输出了interrupt字符串,而发送SIGQUIT信号时却没输出,这说明程序已接到信号,并让SIGINT信号按照我们程序设置函数处理了,而SIGQUIT信号并未设置,按照默认处理了;

时间值
    这章节呢就是设置了几个概念而已;
    1、日历时间,1970年1月1日至今秒数,系统基本数据类型四time_t;
    2、进程时间,也成为CPU时间嘀嗒时钟而已,度量进程使用CPU资源数值;

    统计系统或者用户空间进程运行时间呢使用:
    1、时钟时间,现实生活中时间;
    2、用户CPU时间,是指进程在用户空间运行时间;
    3、系统CPU时间,是指进程在内核空间运行时间;
    时钟时间 = 用户CPU时间 + 系统CPU时间    
阅读(1748) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~