我已阅读手册页。
我从这个链接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
我不清楚为什么会这样?如果新进程覆盖了调用进程,为什么它只返回失败而不是成功?
答案 0 :(得分:1)
因为如果它没有按照它试图做的那样做,即用新的进程替换进程,那么返回是有意义的,通知调用者它失败了。
如果成功,那么调用execve()
的代码不再存在,它已被该函数的成功执行所取代,显然它不能再做任何事了。回归就是这样。