5 进程接口
2023年8月13日...大约 1 分钟
5 进程接口
概述
进程的创建是通过底层fork()和exec()系统调用 进程可通过wait()系统调用可以等待其创建的子进程执行完成
fork()系统调用 fork()用于创建进程,当进程调用fork()时,会复制当前进程所有环境条件参数,生成新的进程.他们有同样的环境参数,但是pid(进程id)不同,同时拥有自己的内存空间
exec()系统调用 fork()调用创建新的进程后,exec()系统调用加载其它程序,覆写代码和静态数据,同时堆,栈和其它内存空间都会重新初始化
wait()系统调用 父进程通过调用wait(),等待其创建的子进程执行完成,然后再运行自己后续操作
fork()和exec()的组合 通过fork()和exec()组合创建新进程运行不同的程序. 通过分离的步骤给予了系统对进程的创建添加操作的可能. 比如通过shell操作时,fork()返回后,通过wait()该进程id,可以等待该进程执行,打印该进程的输出到屏幕. 再比如可以fork()之后可以通过命令改变(ie,wc p3.c > newFile.txt) 重定向输出结果到文件中.
其它Api
- kill:向进程发送信号,包括睡眠,终止等
- ps:查看当前运行的进程
- top:当前系统进程的消耗
你认为这篇文章怎么样?
- 0
- 0
- 0
- 0
- 0
- 0
Powered by Waline v3.4.2