跳至主要內容

5 进程接口

PaperDragon...大约 1 分钟

5 进程接口

概述
进程的创建是通过底层fork()和exec()系统调用 进程可通过wait()系统调用可以等待其创建的子进程执行完成

  1. fork()系统调用 fork()用于创建进程,当进程调用fork()时,会复制当前进程所有环境条件参数,生成新的进程.他们有同样的环境参数,但是pid(进程id)不同,同时拥有自己的内存空间

  2. exec()系统调用 fork()调用创建新的进程后,exec()系统调用加载其它程序,覆写代码和静态数据,同时堆,栈和其它内存空间都会重新初始化

  3. wait()系统调用 父进程通过调用wait(),等待其创建的子进程执行完成,然后再运行自己后续操作

  4. fork()和exec()的组合 通过fork()和exec()组合创建新进程运行不同的程序. 通过分离的步骤给予了系统对进程的创建添加操作的可能. 比如通过shell操作时,fork()返回后,通过wait()该进程id,可以等待该进程执行,打印该进程的输出到屏幕. 再比如可以fork()之后可以通过命令改变(ie,wc p3.c > newFile.txt) 重定向输出结果到文件中.

  5. 其它Api

    • kill:向进程发送信号,包括睡眠,终止等
    • ps:查看当前运行的进程
    • top:当前系统进程的消耗
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3