作者fenir (severus)
看板Programming
标题[问题] fork() & exec() 的疑问
时间Sun Jul 1 21:18:24 2012
fork()跟exec()刚看书看到这段有点不太懂
书上的意思是若fork()後紧接着执行exec()
则不需要复制全部的thread,只需复制(duplicate)呼叫fork的thread
因为执行exec後会把复制的process取代掉
(这边不太懂,为啥exec()会取代掉复制後的thread?复制後不就是要执行吗?)
若fork()後没有exec()
则会复制整个process的全部threads
(复制出来的process是会?1.执行 2.暂停,等待user下指令让他执行)
查了网路上的一些说明,但都不是很详细,跟书上的解释差不多
所以上来请教各位
先谢谢了
--
1F:推 nantonaku:我觉得对方能力强不会是压力,但如果感到对方也希望自己03/23 22:08
2F:→ roalan:有压力是正常的 多少而已03/23 22:08
3F:→ nantonaku:也强的态度的话,就变成压力,例如我以前曾为了男友考研03/23 22:08
4F:→ ueu72312:发替代役03/23 22:16
5F:→ nantonaku:快被楼上笑死了~ 肚子好痛03/23 22:17
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.48.111
6F:→ mars90226:exec就是要执行其他程式,自然不用全部 125.228.169.10 07/01 23:07
7F:→ mars90226:的thread,但是只有fork就不一样了 125.228.169.10 07/01 23:08
8F:→ mars90226:你应该是不清楚exec吧? exec是执行"其他 125.228.169.10 07/01 23:09
9F:→ mars90226:"程式喔! fork出来的则是执行原本的程式 125.228.169.10 07/01 23:09
抱歉真的不熟,课本上也未对exec()多做解释
那请问exec()要传入什麽参数吗?或是後面要接什麽指令
不然某个thread呼叫fork()及exec()後,要怎麽知道新process是执行哪个程式?
※ 编辑: fenir 来自: 220.134.48.111 (07/02 11:49)
10F:推 mars90226:exec是6个system call的总称,请google 125.228.44.49 07/03 10:29
11F:→ mars90226:太多了,google会比较快喔~Y 125.228.44.49 07/03 10:30
12F:→ fenir:感谢!!! 原来只是总称而已 220.134.48.111 07/03 12:49
13F:推 alex780312:exec是把程式码,stack,heap那些都取代118.160.161.162 07/05 00:18
14F:→ alex780312:并不会产生新的process118.160.161.162 07/05 00:18
15F:→ alex780312:fork接着exec就是先完全复制一份再变身118.160.161.162 07/05 00:22