`
oolala
  • 浏览: 103331 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
09c341db-7f05-3f2b-a572-9ee69a5d8a77
unix环境高级编程
浏览量:22719
社区版块
存档分类
最新评论

Unix环境高级编程笔记:9、进程关系

 
阅读更多
1、进程组
    #include <unistd.h>
    pid_t getpgrp(void);    返回值:调用进程的进程组ID
 
    每个进程组都可以有一个组长进程。组长进程标识是,其进程组ID等于其进程ID
    组长进程可以创建一个进程组,创建该组中的进程,然后终止。只要在某个进程组中有一个进程存在,则该进程组就存在,这与进程组长进程是否终止无关。    
 
  #include <unistd.h>
 int setpgid(pid_t pid,pid_t pgid);
setpgid函数将pid进程的进程组ID设置为pgid。如果这二个参数相等,则由pid指定的进程变成进程组组长。
如果pid是0,则使用调用者的进程ID
 
在大多数作业控制shell中,在fork之后调用此函数,使父进程设置其子进程的进程组ID,并且使子进程设置自己的进程组ID。
这二个调用中有一个是冗余的,但让父子进程都这么做可以保证,在父、子进程认为子进程已进入了该进程组时,这确实已经发生。
 
waitpid函数则可以用来等待一个进程或者指定进程组中的一个进程终止。
 
 
2、会话
    会话是一个或多个进程组的集合。
 
    shell的管理线将几个进程编成一组。
    proc1 | proc2 &
    proc3 | proc4  |proc5
 
    进程调用setsid函数建立一个新会话
#include <unistd.h>
pid_t setsid(void);
#include <unistd.h>
pid_t getsid(pid_t pid);
 
 
3、孤独进程组
    一个其父进程已经终止的进程称为孤独进程,这种进程由init进程收养。
 
    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

分享到:
评论

相关推荐

    笔记_UNIX环境网络编程卷二进程间通信_中文第二版.pdf

    笔记_UNIX环境网络编程卷二进程间通信_中文第二版

    UNIX环境高级编程 笔记

    ### UNIX环境高级编程知识点 ...这些知识点涵盖了UNIX系统的各个方面,从基础的文件操作到高级的进程管理和文件I/O,以及标准实现和兼容性问题,为读者提供了一个全面理解UNIX环境高级编程的基础。

    UNIX 高级编程 笔记

    ### UNIX高级编程知识点详解 #### 一、课程体系与学习目标概述 - **语言**: 本课程主要聚焦于两种主流的编程语言:C 和 C++。 - **算法**: 学习经典算法及其优化方法,提高解决复杂问题的能力。 - **数据结构**: ...

    Unix环境高级编程apeu加链接库

    这些笔记可能包括安装必要的编译工具、配置环境变量、解决依赖问题以及实际编程示例等步骤,确保读者能够顺利地在实践中学习Unix编程的精髓。通过实践,你可以掌握Unix系统下的程序设计和调试技巧,这对于任何Unix或...

    UNIX环境高级编程第二版(高清电子书)

    - **示例代码分析**:书中提供了大量的实际编程示例,覆盖各种UNIX编程场景,帮助读者理解和应用所学知识。 - **调试与故障排查**:教授如何使用调试工具和技巧,高效定位和解决编程过程中遇到的问题。 #### 5. ...

    unix网络编程读书笔记

    UNIX 网络编程读书笔记 ...本篇读书笔记涵盖了 UNIX 网络编程的基础知识、并发服务器设计思想、TCP/IP 协议、Socket 编程、高级知识点和网络服务器设计等多个方面,对于学习 UNIX 网络编程的读者非常有价值。

    APUE读书笔记《UNIX环境高级编程第二版》

    ### APUE读书笔记《UNIX环境高级编程第二版》知识点概览 #### 第一章 Unix基础 **1. Unix手册页** - 手册页是Unix系统中查询命令、函数等帮助文档的方式。 - 分类包括命令(1)、系统调用(2)、库函数(3)、特殊...

    APUE读书笔记(Unix高级环境编程)

    - **Unix手册页**:介绍如何使用`man`命令查询Unix/Linux系统中的命令、函数等的文档,是学习Unix编程的重要资料来源。 - **系统调用与库函数**:系统调用是应用程序与操作系统内核之间的接口,库函数则是对系统调用...

    精通UNIX下C语言编程与项目实践源码与笔记

    它为开发者提供了丰富的命令行工具和强大的编程环境,其中C语言是UNIX系统的核心编程语言。 C语言在UNIX系统中的地位至关重要,因为UNIX最初的许多核心组件就是用C语言编写的。C语言具有简洁、高效、灵活的特点,...

    学习《高级Linux环境编程》读书笔记(APUE读书笔记)

    《高级Linux环境编程》或称为APUE(Advanced Programming in the UNIX ...这本书不仅涵盖了UNIX编程的核心概念,还包括了许多实用的编程技巧和解决方案,是一本非常适合在Linux环境下从事系统编程学习的参考书籍。

    UNix系统编程笔记

    通过以上内容,我们可以了解到Unix系统编程涉及到多个方面的知识,从操作系统的基本概念到具体的文件操作、进程管理等高级主题。掌握这些知识点对于深入理解Unix系统的工作原理以及编写高质量的应用程序至关重要。

    UNIX系统编程学习笔记

    8. **库函数与系统调用**:C语言是UNIX编程的主要语言,系统调用(如上述的`open()`、`write()`等)是直接与内核交互的接口,而库函数(如`stdio.h`中的`printf()`)则提供更友好的编程体验。 9. **网络编程**:...

    《LINUX与UNIX SHELL编程指南》读书笔记

    通过阅读《LINUX与UNIX SHELL编程指南》,读者不仅可以掌握Shell编程的基本技能,还能了解到一些高级特性,如数组、子shell、进程控制等。结合书中提供的实例,读者可以逐步提升自己的Shell编程能力,从而在Linux和...

    Unix-Linux编程实践教程

    这两者的编程接口有很高的相似性,因此学习Unix编程对理解Linux编程也非常有帮助。 本书可能包含以下内容: 1. **shell编程**:讲解Bash shell和其他Unix shell的基本语法,包括命令行参数、环境变量、重定向、...

    linux与unix shell编程指南读书笔记.rar

    Linux与Unix Shell编程指南读书笔记提供了深入理解和熟练掌握Shell脚本编写技巧的宝贵资源。Shell是Linux和Unix操作系统中的命令解释器,它不仅用于交互式地执行命令,还能编写自动化任务的脚本,极大地提高了系统...

Global site tag (gtag.js) - Google Analytics