进程是操作系统中非常重要的一个概念,进程是程序的执行过程,相对于程序,进程是动态的,在linux系统中,它与用户权限相关,程序与进程并没有一一对应,一个程序可能对应多个进程,例如:
//ps命令列出当前所有对应当前用户的活动进程
xtwy@ubuntu:~$ ps
PID TTY TIME CMD
2087 pts/0 00:00:00 bash
2105 pts/0 00:00:00 ps
xtwy@ubuntu:~$ bash
//一个bash程序对应多个进程
xtwy@ubuntu:~$ ps
PID TTY TIME CMD
2087 pts/0 00:00:00 bash
2141 pts/0 00:00:00 bash
2156 pts/0 00:00:00 ps
子进程与父进程:一个进程产生另外一个进程,产生的进程称为子进程,生成另外一个进程的进程称为父进程。
//ps -l显示长格式进程信息
//其中PID表示进程ID,PPID表示其父进程ID
xtwy@ubuntu:~$ ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 2087 2085 0 80 0 - 1443 wait pts/0 00:00:00 bash
0 S 1000 2141 2087 0 80 0 - 1443 wait pts/0 00:00:00 bash
进程状态总体来看主要包括三种,分别是就绪状态、运行状态、等待状态,就绪状态指的是进程除了CPU资源,其他运行资源都已获得,当就就绪状态的进程得到CPU资源时,则进入进程进入运行状态,运行状态的进程在时间片用完后会重新转换成就绪状态,如果在运行时进程遇到IO等阻塞操作,则进程会进入等待状态,等待状态的进程当阻塞操作完成后,进程将进入就绪状态
|