进程产生的三种方式:fork、system和exec
2014-03-03 21:53
288 查看
1、fork()方式
fork()函数以父进程为蓝本复制一个进程,其ID号与父进程ID号不同。在Linux环境下,fork()是以写复制实现的,只有内存等与父进程不同,其他与父进程共享,只有在父进程或者子进程进行了修改后,才重新生成一份。
2、system()方式
system()函数调用”/bin/sh –c command“执行特定的命令(可参考/article/6791550.html),阻塞当前进程直到command命令执行完毕。
3、exec()方式
在使用fork函数和system函数的时候,系统中会建立一个新的进程,执行调用者的操作,而原来的进程还会存在,直到用户显式地退出;而exec族的函数与之前的fork和system函数不同,exec族函数会用新进程代替原有的进程,系统会从新的进程运行,新的进程的PID值会与原来的进程的PID值相同。
fork()函数以父进程为蓝本复制一个进程,其ID号与父进程ID号不同。在Linux环境下,fork()是以写复制实现的,只有内存等与父进程不同,其他与父进程共享,只有在父进程或者子进程进行了修改后,才重新生成一份。
2、system()方式
system()函数调用”/bin/sh –c command“执行特定的命令(可参考/article/6791550.html),阻塞当前进程直到command命令执行完毕。
3、exec()方式
在使用fork函数和system函数的时候,系统中会建立一个新的进程,执行调用者的操作,而原来的进程还会存在,直到用户显式地退出;而exec族的函数与之前的fork和system函数不同,exec族函数会用新进程代替原有的进程,系统会从新的进程运行,新的进程的PID值会与原来的进程的PID值相同。
相关文章推荐
- 多进程函数系列fork(), wait(), exec()系列,system(), posix_spawn()实例详解
- system()、exec()、fork()三个与进程有关的函数的比较
- LINUX进程控制(system(),fork(),exec())
- Linux下进程的创建(system(); fork(); exec*())
- linux学习---进程控制(fork,vfork,popen,exec,system)
- C程序调用shell脚本共有三种方式:system()、popen()、exec系列函数
- Linux 进程控制--- 编程 --- getpid --- fork --- exec --- system --- wait
- 进程控制:system, exec* and fork
- 进程创建system、exec、fork
- fork/exec/system 用法简介
- 创建进程的三种方式
- cmd下命令提示符下杀进程的三种方式
- waitpid对fork产生多进程的使用
- Head First C 第九章 进程与系统调用 用fork()+exec()运行子进程
- 在shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)
- 进程控制 [fork() exec() wait() waitpid()]
- shell脚本中调用另一个脚本的三种不同方法(fork, exec, source(.))
- 多线程编程-通过fork方式创建任务进程
- 在shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)
- 在shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)