什么是process

  • 程序 (program):通常为 binary program ,放置在储存媒体中 (如硬盘、光盘、软盘、磁带等), 为实体文件的型态存在;

  • 进程 (process):程序被触发后,运行者的权限与属性、程序的程序码与所需数据等都会被加载内存中, 操作系统并给予这个内存内的单元一个识别码 (PID),可以说,程序就是一个正在运行中的程序。

子程序与父程序:

程序相关系之示意图

fork and exec:程序呼叫的流程

在 Linux 的程序呼叫通常称为 fork-and-exec 的流程 !程序都会藉由父程序以复制 (fork) 的方式产生一个一模一样的子程序, 然后被复制出来的子程序再以 exec 的方式来运行实际要进行的程序,最终就成为一个子程序的存在。 整个流程有点像底下这张图: 程序使用 fork and exec 呼叫的情况

Linux 的多人多工环境