在 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 两次-

但是,exec() 在调用和 return 行为方面与其他系统调用有何不同?

实际上,有少数不遵守"returns once"范式。

调用 fork() return 一次 两次 - 后者成功 return 一次 parent 和一次在 child 中,前者失败时它只是 return 一次在 parent.

exec() 的调用将 return 失败,但如果成功,则当前进程将被新程序覆盖。

还有其他一些,例如 exit()abort(),根本不会 return。