zoukankan      html  css  js  c++  java
  • 进程组与组长进程

    进程组(便于管理)
    一个或多个进程的集合
    可以接受同一终端的各种信号,同一个信号发送进程组就等于发送给组中的所有进程。
    每个进程组有唯一的进程组id
    进程组的消亡要等到组中所有的进程结束
    kill发送信号给进程组


    一般使用getpgid函数来获取指定进程的进程组id

    eg:getpgid(getoid());

    组长进程
    每个进程组可以有个组长进程,组长进程的id就是进程组的id
    组长进程可以创建进程组以及该组中的进程
    进程组的创建从第一个进程(组长进程)加入开始
    进程组的组号取第一个加入组的进程(组长进程)编号


    eg: setpgid(getpid(),getpid());

    第一次调用setpgid:创建进程组,调用setpgid函数的进程称为组长进程

    kill -9  进程号    杀掉进程
    kill -9  -进程组号    杀掉进程组
    默认子进程属于父进程创建的进程组
     

    问题:终端启动的两个进程,如果CTRL+C后,父子进程都接收到SIG_INT信号,停止,如果让父进程接收信号停止,子进程继续工作?

    1.子进程处理忽略SIG_INT信号

    2.或者将子进程加入到其他进程组,不在一个进程组即可。

    奋斗为了更好的生活。
  • 相关阅读:
    Python
    QinQ 技术解析
    TLS/SSL 协议
    TLS/SSL 协议
    TLS/SSL 协议
    排序算法之基本排序算法(冒泡、插入、选择)
    Spring Boot 学习笔记--手写版
    mysql -- collection一对多查询
    mybatis 批量操作增删改查
    easyUI之datagrid绑定后端返回数据的两种方式
  • 原文地址:https://www.cnblogs.com/redman274/p/12171047.html
Copyright © 2011-2022 走看看