美文网首页
进程管理

进程管理

作者: 朝圣的路上 | 来源:发表于2016-04-21 16:39 被阅读24次

进程(process)通常可被归为父进程和子进程。

父进程负责创建和结束子进程。子进程调用exit()并不能立即结束,会发SIGCHLD信号给父进程,以便父进程对资源进行回收。

在子进程结束前,如果父进程已经结束,那也没有问题。你的子进程就变成了孤儿进程或者守护进程。系统init进程会充当父进程的角色对子进程进行管理和回收。

父进程可以采用wait或waitpid等待已结束的子进程退出。如果父进程没有调用wait或waitpid来等待子进程退出。而且父进程一直运行,就会产生僵尸进程。这就是一个应该被避免的问题。

通常父进程可以采用signal的方式来等待和回收子进程结束。示例如下:


void
sig_chld(int signo)
{
    pid_t   pid;
    int     stat;

    while ( (pid = waitpid(-1, &stat, WNOHANG)) > 0)
        printf("child %d terminated\n", pid);
    return;
}

int main()
{
    Signal(SIGCHLD,sig_chld);
    ....
    if((child = fork()) == 0)
    {
    }
    else
    {
    }
    ....
}

相关文章

  • Android性能探索

    进程管理&内存管理 进程生命周期进程优先级:前台进程可见进程服务进程后台进程 (LRU Cache & 占用内存...

  • linux 下的系统调用

    一、主要有以下模块 -进程管理-内存管理-文件管理-信号处理-进程通信-网络通信 一、进程管理 1.父进程通过fo...

  • Linux 系统管理

    视频教程:Linux系统管理 一、进程管理 进程管理 简介:进程就是正在运行的程序或者命令,进程管理就是对正在运行...

  • Linux进程管理详解(转)

    Linux进程管理详解 1.1 Linux进程管理 进程管理是操作系统的最重要的功能之一。有效率的进程管理能保证一...

  • Linux 内存笔记基础

    系统 1. 内存管理 2. 文件目录 3. IO 4. 进程管理进程创建进程控制进程通信进程同步 5. 线程管理线...

  • supervisor

    Supervisor进程管理,只能管理非daemon的进程,不能管理守护进程。 安装 yum 默认主配置文件在/e...

  • 操作系统总览

    操作系统的 操作系统的用户界面 进程管理 处理机调度 存储管理 进程和存储管理示例 windows进程和内存管理 ...

  • Linux进程管理 day22

    1.管理进程状态2.管理后台进程3.进程的优先级4.系统平均负载 一、管理进程状态 昨天主要学习了进程(正在运行的...

  • mac 安装配置supervisor

    supervisor 管理进程用的, 公司线上的进程管理就是supervisor.python 写的 , 子进程中...

  • 打通Framework与Kernel-谈谈我对进程管理的理解

    Kernel:Linux学习-进程管理与调度(一)-进程描述及其生命周期Linux学习-进程管理与调度(二)-进程...

网友评论

      本文标题:进程管理

      本文链接:https://www.haomeiwen.com/subject/dkmtrttx.html