zoukankan      html  css  js  c++  java
  • Linux编程学习笔记 -- Process

    进程是一个程序的运行。
     
    在一个程序中执行另一个执程序的方法有两种:
    1)system 在shell中执行程序
    2)fork + exec 复制一个进程,在进程中用新的程序替换原有的程序
     
    fork
    复制当前执行的进程。一个进程变两个进程。
    根据函数的返回值判断是在那个进程中。父进程中返回的是子进程的PID。
     
    exec
    用新的程序替换当前执行的程序。
     
    wait
    父进程等待(block)子进程结束。
     
    nice
    调整进程的niceness,正数是降低进程调度的优先级。
     
    signal
    是一种异步通信机制。
    进程收到信号后,中断当前的处理,执行信号处理函数。
    进程中,可以注册对信号的handler。
    常用的信号:SIGTERM SIGKILL SIGABRT SIGUSR1
    其中SIGKILL在进程中不能忽略。
     
     
    zombie process
    子进程执行完毕后,父进程通过调用wait,获得子进程的结束信息。如果没有父进程来wait,子进程的结束状态信息就会一直保留,直到被init进程清理。这会占用系统的资源。
    清理zombie的办法:
    1)通过wait3, wait4轮询
    2)在父进程中处理子进程执行完毕的信号
     
    date: 2014.11.5
  • 相关阅读:
    查看mongodb的状态
    superset----缓存之redis
    superset--presto sql
    linux----之tcpdump小用
    Git版本回退的最佳方式
    SpringBoot 热部署
    不使用Tomcat,手写简单的web服务
    Spring Security 入门
    Maven总结
    git高级用法
  • 原文地址:https://www.cnblogs.com/weichsel/p/4395048.html
Copyright © 2011-2022 走看看