进程的基本概念
进程相关函数
进程组
进程组函数
获取进程组ID:pid_t getpgid(pid_t pid);
设置进程组ID:int setpgid(pid_t pid ,pig_t pgid);
会话(session)
进程组函数
信号(signal):进程通讯机制
系统信号
缺省处理逻辑:终止进程,生成内核转储文件
使用kill -l命令可查看操作系统支持的信号列表,不同的系统可能有所不同
进程间发送的信号
信号处理
进程接收到信号后,根据信号配置进行处理
缺省配置:在程序没有处理时,确定信号该如何处理
程序处理信号的方式,按照信号处理例程的函数指针定义一个函数,然后调用
sigaction()函数:设置信号配置
处理信号时的注意事项:
#include <signal.h>//处理信号的头文件 #include <string.h> #include <sys/types.h> #include <unistd.h> #include <iostream> sig_atomic_t sigusr1_count = 0; extern "C" {void OnSigUsr1(int signal_number) { ++sigusr1_count; }} int main() { std::cout << "pid:" << (int)getpid() << std::endl; struct sigaction sa; memset(&sa, 0, sizeof(sa)); sa.sa_handler = &OnSigUsr1; sigaction(SIGUSR1, &sa, NULL); sleep(100);//在终端中输入kill -s SIGUSR1 pid,信号计数器将递增 std::cout << "SIGUSR1 counts:" << sigusr1_count << std::endl; return 0; }
原文:http://www.cnblogs.com/hujianglang/p/6266884.html