输出中的execlp()系统调用错误

use*_*926 0 c system-calls

这是一个非常简单的exec()系统调用示例.在这里,我试图打execlp()两次电话.但是,我没有得到例外输出.它仅显示当前目录的第一次调用的输出.

#include <stdio.h>
#include <unistd.h>

int main() { 

        int ret1,ret2;
        ret1 = execlp( "pwd", "pwd", (char *) 0);
        ret2 = execlp( "date", "date", (char *) 0);
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

/home/aniket
Run Code Online (Sandbox Code Playgroud)

在这里,我看不到日期的输出.任何人都可以解释为什么会发生这种情况?

Mar*_*n R 5

execlp() 新的过程映像替换当前过程映像.它不会返回(除非启动新进程时出错).

因此execlp()永远不会达到第二次通话.