一:进程间关系:
1.进程组:
- 进程组就是一个或多个进程的集合,进程组中会有一个组长进程,每个进程组有唯一的进程组ID,进程组ID与组长进程ID相同。
注:某个进程组只要有一个进程存在,该进程组就存在,与其组长进程是否存在没有关系。
- 这里的PGID就是进程组ID, ./a.out &可以将其放在后台运行
2.作业
- 作业也是一个或者多个进程的集合,但是它与进程组的概念有点不同,如果进程组中的进程创建子进程,那么子进程还属于该进程组;但是如果作业中的某个进程创建子进程,那么该子进程就不属于该作业;
- shell分前后台控制的不是进程而是作业,shell可以运行一个前台作业和任意多个后台作业,这称为作业控制。一旦前台作业运行结束,shell就把自己提到前台。
jobs
:查看后台作业
fg + 作业号
:将后台作业提到前台
注:这里ctrl + c可以结束一个前台作业,不是进程