自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 信号默认处理动作及可重入函数

下表列出了每种信号的默认处理动作(有些实现支持更多信号),以及支持此信号的系统。其中,SUS 列中的“*”表示此种信号定义为基本 POSIX.1 规范部分,“XSI”表示该信号定义为 XSI 扩展部分。而系统默认动作列中的“终止+core”表示在进程当前工作目录的 core 文件中复制了该进程的内存映像(大多数 UNIX 系统调试程序都使用 core 文件检查进程终止时的状态)。[im...

2017-09-29 09:02:53 464

原创 作业控制与孤儿进程组

作业控制允许在一个终端上启动多个作业(进程组),它控制哪一个作业可以访问该终端以及哪些作业在后台运行。一个作业只是几个几个进程的集合,通常是一个进程管道。当启动一个后台作业时,shell 会赋予它一个作业标识符,并打印一个或多个进程 ID。如下。[code="bash"]$ make all > Make.out &[1] 1475 # 作业...

2017-09-28 01:21:58 156

原创 进程组、会话和控制终端

每个进程除了有一个进程 ID 外,还属于一个进程组。进程组是进程的集合,它们通常是在同一作业中结合起来的,其中的各进程接收来自同一终端的各种信号。每个进程组有一个进程组 ID,并可存放在 pid_t 数据类型中。 函数 getpgrp 返回调用进程的进程组 ID,函数 getpgid 可返回特定进程的进程组 ID。[code="c"]#include pid_t ge...

2017-09-20 07:24:01 654 1

原创 进程时间

任一进程都可使用 times 函数来获得它自己以及终止子进程的 3 个时间:墙上时钟时间、用户 CPU 时间和系统 CPU 时间。[code="c"]#include clock_t times(struct tms *buf); /* 返回值:若成功,返回流逝的墙上时钟时间(以时钟滴答数为单位);否则,返回 -1 */struct tms{ cloc...

2017-09-18 23:47:33 264

原创 用户标识和进程调度

任一进程都可以得到其实际用户 ID 和有效 ID 及组 ID。但有时希望找到运行该程序用户的的登录名。通常情况下可以调用 getpwuid(getuid()) 来得到,但如果一个用户有多个登录名,这些登录名又对应着同一个用户 ID(但登录 shell 不同)时,就可以考虑使用 getlogin 函数来获取此登录名。[code="c"]#include char *getlogi...

2017-09-17 09:17:42 135

原创 进程会计

大多数 UNIX 系统都提供了一个选项以进行进程会计处理。启用该选项后,每当进程结束时内核就会写一个会计记录。典型的会计记录包含总量较小的二进制数据,一般包括命令名、所使用的 CPU 时间总量、用户 ID 和组 ID、启动时间等。函数 acct 是用来启用和禁用进程会计,唯一使用这一函数的是 accton 命令。超级用户执行一个带路径名参数的 accton 命令启用会计处理。会计记录会写到...

2017-09-14 00:54:08 478

原创 system 函数

system 函数可用来方便地执行一个命令字符串。[code="c"]#include int system(const char *cmdstring); /* 返回值:(见下)*/[/code] 如果 cmdstring 是一个空指针,则仅当命令处理程序可用时,system 返回非 0 值。可利用这一特征来确定某个系统是否支持 system 函...

2017-09-12 23:55:43 285

原创 解释器文件

解释器文件是一种文本文件,其起始行的形式是: #! pathname [optional-argument] 其中感叹号和 pathname 之间的空格是可选的。pathname 通常是绝对路径名,对它不进行什么特殊处理(不使用 PATH 进行路径搜索),它后面的参数(如果有)无论多少都会被作为一个参数来对待。对这种文件的识别是由内核作为 exec 系统调用处理...

2017-09-11 00:28:04 297

原创 更改用户 ID 和更改组 ID

UNIX 系统中的特权(如能改变当前日期的表示法)和访问控制(如能否读、写一个特定文件)都是基于用户 ID 和组 ID 的。当程序需要增加或降低特权,需要允许或阻止对某些资源的访问时,都需要更换自己的用户 ID 或组 ID。 可以使用 setuid 函数设置实际用户 ID 和有效用户 ID,使用 setgid 函数设置实际组 ID 和有效组 ID。[code="c"]#i...

2017-09-10 10:05:43 1667

原创 exec 族函数介绍

用 fork 函数创建子进程后,子进程往往要调用一种 exec 函数以执行另一个程序,exec 只是用磁盘上的一个新程序替换了当前进程的正文段、数据段、堆段和栈段,所以前后的进程 ID 并未改变。 有 7 种不同的 exec 函数可供使用。[code="c"]#include int execl(const char *pathname, const char *ar...

2017-09-09 09:49:57 139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除