Linux系统的进程相关内容

一、基本概念

  1:了解进程,我们得先了解程序是什么,程序就是一个存储在电脑磁盘上的文件,而进程就是一个正在运行的程序,就好比是打开的qq。一个程序也可能是包含了多个进程,就是同时执行一些不同的任务。

  2:进程的分类

    分为交互进程,批处理进程,守护进程。

  3:进程的状态

    可以通过终端的指令来查看进程 ps -aux  其中进程信息表中的STAT就是进程的状态

    O:就绪态,一切准备工作都已经做好 ,等待被调用。

    R:运行态,Linux系统下没有O状态,所以说O也就是R。

    S:可以唤醒的睡眠态,系统调用,获取到资源或者是收到消息都可以被唤醒

    D:不可被唤醒的睡眠态,必须等到他的事件来临。 

    T:暂停态,收到了SIGSTP信号,直到收到SIGCONT信号才会继续运行

    X:死亡态,已经结束的进程,通过另一个终端可以看到它的最后的状态

    Z:   僵尸态,子进程结束后没有被父进程及时回收,子进程就会变成僵尸进程。

    <:   高优先级,此进程会优先于其他进程先执行。

    N: 低优先级,可以理解为此进程重要性不高,可以被后执行。

            L:    多线程进程

    s:  有子进程的进程。

    +:  后台进程组

       4:父子进程组

   如果进程B是由进程A开启的,那么A就是B的父进程,B就是A的子进程。

   当子进程结束时会向父进程发送信号SIGCHLD,父进程收到后会回收子进程。

   当子进程结束时,父进程没有及时回收,那么这个子进程就会变成僵尸进程。

   当子进程结束时,父进程先于它结束,那么该子进程就会变成孤儿进程,最终被init这个进程回收。

  5:进程标识符

   也就是进程号,可以通过getpid函数获取到这个无符号整数。

   这个编号时循环使用的,当进程结束后,这个编号就和这个进程没有了关系,会被延时重用。 

    

  

  

猜你喜欢

转载自www.cnblogs.com/yyc954330712/p/9362523.html