什么是进程?
从程序角度:
计算机中正在运行在内存中的程序就是进程
从操作系统角度:
进程是一个术语,在UNIX、Linux和其他一些操作系统中,当程序启动时(由用户输入shell命令或由另一程序启动),进程开始。每个进程的描述都是一个结构体的统称及进程控制块(PCB)linux下叫具体为task_struct。
进程的几种状态
- running (R)运行状态,该状态不只是指程序正在运行,还包括准备运行的状态。
- sleeping (S)可中断睡眠状态 ,
- disk sleeping(D)不可中断睡眠状态,系统的休眠等待,不可用户打断,有特殊方式唤醒
- stopped(T)停止状态,通过发送sigstop信号停止,可以通过发送sigcont信号继续。
- tracing stop(t)跟踪状态
- dead(X)死亡状态,是一个返回状态,时间很短,
- zombie(Z)僵尸状态,子进程先于父进程退出,而且父进程不关心子进程的退出状态,从而形成。