51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#多进程
进程关系之孤儿进程组
一个其父进程已终止的进程称为孤儿进程(orphanprocess),这种进程由init进程“收养”。整个进程组也可以成为“孤儿”。 孤儿进程组(orphanprocessgroup):该组中每个成员的父进程要么是该...
代码星球
·
2021-02-21
进程
关系
孤儿
进程关系之作业控制
作业控制,它允许在一个终端上启动多个作业(进程组),它控制哪一个作业可以访问该终端,以及哪些作业在后台运行。作业控制要求下面三种形式的支持:(1)支持作业控制的shell。(2)内核中的终端驱动程序必须支持作业控制。(3)内核必须提供对某些作业控制信号的支持。从shell使用作业控制功能角度讲,用户可以在前台或后台启动...
代码星球
·
2021-02-21
进程
关系
作业
控制
进程关系之tcgetpgrp、tcsetpgrp和tcgetsid函数
需要有一种方法来通知内核哪一个进程组是前台进程组,这样,终端设备驱动程序就能了解将终端输入和终端产生的信号送到何处。#include<unistd.h>pid_ttcgetpgrp(intfiledes);返回值:若成功则返回前台进程组的进程组ID,若出错则返回-1inttcsetpgrp(intfiled...
代码星球
·
2021-02-21
进程
关系
tcgetpgrp
tcsetpgrp
tcgetsid
进程关系之控制终端
会话和进程组有一些其他特性:一个会话可以有一个控制终端(controllingterminal)。这通常是登录到其上的终端设备(在终端登录情况下)或伪终端设备(在网络登录情况下)。建立与控制终端连接的会话首进程被称为控制进程(controllingprocess)。一个会话中的几个进程组可被分成一个前台进程组(fore...
代码星球
·
2021-02-21
进程
关系
控制
终端
进程关系之会话
会话(session)是一个或多个进程组的集合。例如,可以具有图9-6中所示的安排。其中,在一个会话中有三个进程组。 ...
代码星球
·
2021-02-21
进程
关系
会话
进程关系之进程组
每个进程除了有一个进程ID之外,还属于一个进程组。进程组是一个或多个进程的集合。通常,它们与同一作业相关联,可以接收来自同一终端的各种信号。每个进程组有一个唯一的进程组ID。进程组ID类似于进程ID——它是一个正整数,并可存放在pid_t数据类型中。函数getpgrp返回调用进程的进程组ID。#include<u...
代码星球
·
2021-02-21
进程
关系
进程关系之网络登录
通过串行终端登录至系统和经由网络登录至系统两者之间的主要(物理上的)区别是:通过网络登录时,终端和计算机之间的连接不是点对点连接。在这种情况下,login只是一种可用的服务,这与其他网络服务(例如FTP或SMTP)的性质相同。在终端登录中,init知道哪些终端设备可用来进行登录,并为每个设备生成一个getty进程。但是...
代码星球
·
2021-02-21
进程
关系
网络
登录
进程关系之终端登录
在早期的UNIX系统中,用户用哑终端(用硬连接连到主机,更多关于哑终端:http://zh.wikipedia.org/wiki/%E5%93%91%E7%BB%88%E7%AB%AF)进行登录。终端要么是本地的(直接连接)要么是远程的(通过调制解调器连接)。在这两种情况下,登录都经由内核中的终端设备驱动程序。1、BS...
代码星球
·
2021-02-21
进程
关系
终端
登录
进程控制之进程时间
任一进程都可调用times函数以获得它自己及已终止子进程的墙上时钟时间、用户CPU时间和系统CPU时间(关于这三种时间的含义可参考:http://www.cnblogs.com/nufangrensheng/p/3495526.html)。#include<sys/times.h>clock_ttimes(...
代码星球
·
2021-02-21
进程
控制
时间
进程控制之用户标识
任一进程都可以得到其实际和有效用户ID及组ID。但是有时希望找到运行该程序的用户登录名。我们可以调用getpwuid(getuid()),但是如果一个用户有多个登录名,这些登录名又对应着同一个用户ID,那么又将如何呢?(一个人在口令文件中可以有多个登录项,它们的用户ID相同,但登录shell则不同。)系统通常记录用户登...
代码星球
·
2021-02-21
进程
控制
用户
标识
进程控制之进程会计
大多数UNIX系统提供了一个选项以进行进程会计(processaccounting)处理。启用该选项后,每当进程结束时内核就写一个会计记录。典型的会计记录包含总量较小的二进制数据,一般包括命令名、所使用的CPU时间总量、用户ID和组ID、启动时间等。函数(acct)用于启用和禁用进程会计。唯一使用这一函数的命令是acc...
代码星球
·
2021-02-21
进程
控制
会计
进程控制之system函数
ISOC定义了system函数,但是其操作对系统的依赖性很强。POSIX.1包括了system接口,它扩展了ISOC定义,以描述system在POSIX.1环境中的运行行为。#include<stdlib.h>intsystem(constchar*cmdstring);如果cmdstring是一个空指针,...
代码星球
·
2021-02-21
进程
控制
system
函数
进程控制之解释器文件
所有现今的UNIX系统都支持解释器文件(interpreterfile)(也可称为解释器脚本)。这种文件是文本文件,其起始行格式是:#!pathname[optional-argument]感叹号和pathname之间的空格是可选的。最常见的解释器文件以下列行开始:#!/bin/shpathname通常是绝对路径名,对...
代码星球
·
2021-02-21
进程
控制
解释器
文件
进程控制之更改用户ID和组ID
在UNIX系统中,特权(例如能改变当前日期的表示法以及访问控制(例如,能否读、写一特定文件))是基于用户ID和组ID的。当程序需要增加特权,或需要访问当前并不允许访问的资源时,我们需要更换自己的用户ID或组ID,使得新ID具有合适的特权或访问权限。与此类似,当程序需要降低其特权或阻止对某些资源的访问时,也需要更换用户I...
代码星球
·
2021-02-21
ID
进程
控制
更改
用户
进程控制之exec函数
用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程执行的程序完全替换为新程序,而新程序则从其main函数开始执行。因为调用exec并不创建新进程,所以前后的进程ID并未改变。exec只是用一个全新的程序替换了当前进程的正文、数据、堆和栈段。有6种不同的ex...
代码星球
·
2021-02-21
进程
控制
exec
函数
首页
上一页
...
7
8
9
10
11
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他