概要:
僵尸进程(Zombie Process)
一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵尸进程。
孤儿进程(Orphan Process)
一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程所收养,并由init进程对它们完成状态收集工作。
守护进程(Daemon Process)
守护进程就是在后台运行,不与任何终端关联的进程,通常情况下守护进程在系统启动时就在运行,它们以root用户或者其他特殊用户(apache和postfix)运行,并能处理一些系统级的任务。
进程号(PID):标识进程的一个非负整数
父进程号(PPID):任何进程(除init进程)都由另一个进程创建,该进程称为被创建进程的父进程,对应的进程号称为父进程号(PPID)。
进程组号(PGID):进程组是一个或多个进程的集合。它们之间相互关联,进程组可以接收同一终端的各种信号,关联的进程有一个进程组号(PGID)。
#include <sys/types.h>
#include <unistd.h>
pid_t getpid(void); // 获取本进程号
pid_t getppid(void); // 获取父进程号
pid_t getpgid(pid_t pid); // 获取指定进程的PGID(0为当前PGID)
pid_t fork(void); // 创建进程(成功:子进程中返回0,父进程中返回子进程ID)(失败:返回-1)
// 进程挂起sec秒
// 挂起结束切换为就绪态
unsigned int sleep(unsigned int sec);