为什么 sudo 调用 fork() 和 exec() 而不仅仅是 exec()?

Why does sudo call fork() and exec() rather than just exec()?

为什么 sudo(在其他类似命令中)通过在 exec() 之前调用 fork() 来启动一个新进程,而不只是 运行 同一进程中的命令? sudo 运行命令后不执行任何操作。 (或者是吗?)

如果 sudo 仅仅调用了 exec,那么 sudo 无法在执行代码完成时执行 运行 之类的任何清理任务。以pam_open_session and pam_close_session为例。

希望对您有所帮助!