#define TASK_RUNNING 0
#define TASK_INTERRUPTIBLE 1
#define TASK_UNINTERRUPTIBLE 2
#define TASK_ZOMBIE 4
#define TASK_STOPPED 8
其中:
TASK_RUNNING是就绪态,进程当前只等待CPU资源。
TASK_INTERRUPTIBLE和TASK_UNINTERRUPTIBLE都是阻塞态,进程当前正在等待除CPU外的其他系统资源;前者可以被信号唤醒,后者不可以。
TASK_ZOMBIE是僵尸态,进程已经结束运行,但是进程控制块尚未注销。
TASK_STOPPED是挂起状态,主要用于调试目的。进程接收到SIGSTOP信号后会进入该状态,在接收到SIGCONT后又会恢复运行。
1.运行(正在运行或在运行队列中等待)
2.
中断(休眠中,
受阻,
在等待某个条件的形成或接受到信号)
3.
不可中断(收到信号不唤醒和不可运行,
进程必须等待直到有中断发生)
4.
僵死(进程已终止,
但进程描述符存在,
直到父进程调用wait4()系统调用后释放)
5.
停止(进程收到SIGSTOP,
SIGSTP,
SIGTIN,
SIGTOU信号后停止运行运行)
什么是进程 ?
狭义上来说 : 进程是 *** 作系统上运行的一个程序 。
广义上来说 : 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是 *** 作系统 动态执行的 基本单元 ,在传统的 *** 作系统 中,进程既是基本的 分配单元 ,也是基本的执行单元。
进程控制是进程管理中最基本的功能。它用于创建一个新进程,终止一个已完成的进程,或者去终止一个因出现某事件而使其无法运行下去的进程,还可负责进程运行中的状态转换。
Linux系统上进程的几种状态:
进程的创建一是 *** 作系统来创建 。 二是由父进程创建 。
什么是守护进程? 这是一段来自维基百科的描述。
exit()与_ecit()的区别
exit与return的区别
exit 的参数 , 正常退出参数为 0, 异常退出参数为非零值 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)