1

我已阅读手册页。

我从这个链接http://support.sas.com/documentation/onlinedoc/sasc/doc750/html/lr2/zid-7281.htm了解到的是 A successful call to execve does not have a return value because the new process image overlays the calling process image

我不是很清楚为什么会发生这种情况?如果新进程覆盖调用进程,为什么它只返回失败而不返回成功?

4

1 回答 1

2

因为如果它没有做它试图做的事情,即用新的进程替换进程,那么返回是有意义的,通知调用者它失败了。

如果它成功了,那么调用的代码execve()就不再存在了,它已经被那个函数的成功执行所取代,所以显然它不能再做任何事情了。回国就是这么一回事。

于 2014-06-03T09:48:39.340 回答