标签: process fork exec
为什么sudo(以及其他类似命令)通过在fork()之前调用exec()来启动新进程,而不是仅在同一进程中运行命令? sudo运行命令后不执行任何操作。 (或者是吗?)
sudo
fork()
exec()
答案 0 :(得分:2)
如果sudo仅调用exec,则sudo无法执行诸如执行代码完成时执行任何清理任务之类的操作。以pam_open_session和pam_close_session为例。
exec
pam_open_session
pam_close_session
希望这有帮助!