在Linux中:ctrl-c: ( kill foreground process ) 发送SIGINT信号给前台进程组中的所有进程,强制终止程序的执行;ctrl-z: ( suspendforegroundprocess) 发送SIGTSTP信号给前台进程组中的所有进程,常用于挂起一个进程,而并非...
分类:
系统相关 时间:
2014-09-14 17:56:27
阅读次数:
175
大体步骤如下
1. 调用fork()函数创建子进程后,让父进程立即exit(),这样产生的子进程变成孤儿进程,由init进程接管。
2. 调用setsid()函数,使得新创建的进程脱离控制终端,同时创建新的进程组,并成为该进程组的首进程。在linux系统中,所有的进程都属于各自的进程组,进程组是一个或多个进程的集合,一个进程组中至少有一个进程成员,否则就消亡了。每个进程组都有一个进...
分类:
其他好文 时间:
2014-09-04 10:34:39
阅读次数:
1161
讲述进程组和会话,以及它们的一些特性和函数。...
分类:
其他好文 时间:
2014-08-24 22:20:53
阅读次数:
129
说明:当进程是会话的领头进程时setsid()调用失败并返回(-1)。setsid()调用成功后,返回新的会话的ID,调用setsid函数的进程成为新的会话的领头进程,并与其父进程的会话组和进程组脱离。由于会话对控制终端的独占性,进程同时与控制终端脱离。 pid_t pid = fork(); .....
分类:
其他好文 时间:
2014-08-10 21:32:30
阅读次数:
329
1.所有进程共用一个消息队列组。2.消息队列组里面包含一个发送消息队列和一个接收消息队列。3.请求进程主动向发送消息队列发送消息,从接收消息队列接收消息。处理进程从发送消息队列读取请求,向接收队列发送处理结果。4.同一进程组都是相同的进程。5.处理进程组内的所有进程以竞争的方式从消息队列内读取请求。...
分类:
其他好文 时间:
2014-07-23 12:53:26
阅读次数:
184
9.1 引言本章将更详尽地说明进程组以及POSIX.1引入的会话的概念。还将介绍登陆shell(登录时所调用的)和所有从登陆shell启动的进程之间的关系。9.1 终端登陆系统管理员创建通常名为/etc/ttys的文件,其中每个终端设备都有一行,每一行说明设备名传递给getty程序的参数。当系统自举...
分类:
其他好文 时间:
2014-07-18 18:34:01
阅读次数:
253
daemon进程守护进程1.fork子进程,而后父进程退出,此时子进程会被init进程接管2.修改子进程的工作目录,创建新进程组和新会话,修改umask3.子进程再次fork一个进程,这个进程可以称为孙子进程,而后子进程退出4.重定向孙子进程标准输入流,标准输出等atexit程序退出调用某个函..
分类:
编程语言 时间:
2014-07-17 09:15:42
阅读次数:
272
线程共享的内容包括:进程代码段进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和 进程用户ID与进程组ID线程独有的内容包括:线程ID寄存器组的值线程的堆栈错误返回码线程的信号屏蔽码
分类:
编程语言 时间:
2014-06-26 23:09:20
阅读次数:
234
1. Cgroups是什么?从 2.6.24 版本开始,linux 内核提供了一个叫做
Cgroups的特性。Cgroups是control groups的缩写,是一种可以限制、记录、隔离进程组(process
groups)所使用的物理资源(如cpu,memory,IO等)的机制。2. Cgrou...
分类:
其他好文 时间:
2014-05-25 22:30:11
阅读次数:
847
(一)kill和raise函数
kill函数将信号发送给进程或进程组。raise函数则允许进程自身发送信号。
#include
#include
int kill(pid_t pid, int sig);
int raise(int signo); //返回值:若成功则返回0,若出错则返回-1。
参数:pid参数有4种...
分类:
系统相关 时间:
2014-05-18 08:50:13
阅读次数:
360