在 call-return 行为方面,fork() 和 exec() 系统调用与其他系统调用有何不同?
In terms of call-return behaviour, how are the fork() and exec() system calls different from other system calls?
Fork returns 两次-
曾经在parent
曾经在child
但是,exec() 在调用和 return 行为方面与其他系统调用有何不同?
实际上,有少数不遵守"returns once"范式。
调用 fork()
return 一次 或 两次 - 后者成功 return 一次 parent 和一次在 child 中,前者失败时它只是 return 一次在 parent.
中
对 exec()
的调用将 return 失败,但如果成功,则当前进程将被新程序覆盖。
还有其他一些,例如 exit()
或 abort()
,根本不会 return。
Fork returns 两次-
曾经在parent
曾经在child
但是,exec() 在调用和 return 行为方面与其他系统调用有何不同?
实际上,有少数不遵守"returns once"范式。
调用 fork()
return 一次 或 两次 - 后者成功 return 一次 parent 和一次在 child 中,前者失败时它只是 return 一次在 parent.
对 exec()
的调用将 return 失败,但如果成功,则当前进程将被新程序覆盖。
还有其他一些,例如 exit()
或 abort()
,根本不会 return。