概念
在进程存在的期间,控制其全部行为
- 创建
- 阻塞
- 撤销
- 唤醒
进程控制原语:进程控制相关的具有特定功能的函数,其运行过程中不可中断(原子性,必须完整的运行)
- 创建原语
- 撤销原语
- 阻塞原语
- 唤醒原语
Windows进程控制
启动:
system(func);
WinExec(func);
ShellExecute(func);
CreateProcess(func);
结束:
ExitProcess();正常撤销进程
TerminateProcess();强制性撤销进程==>任务管理器的方式
Linux进程控制
创建相同进程:
pid_t pid=fork();
- 父进程:fork的调用者
- 子进程:新建的进程
- 子进程复制父进程,且并发运行
返回值pid:
- 子进程 pid=0
- 父进程 pid>0(子进程ID)
- 出错 pid= -1
创建不同进程:
exec函数簇(包含若干函数)
-
根据文件名找到相应可执行程序
-
将可执行程序的内容填入子进程的地址空间
-
进入新进程执行且不返回
#include<unistd.h> //linux的进程库 int execl(...); int execlp(...); int execle(...); int execv(...); int execvp(...) int execve(...)