我在玩 execvp(),发现了一个有趣的东西,首先是代码。使用命名空间标准;
#include <iostream>
#include <unistd.h>
int main(){
char *argv[3];
int pid = fork();
if (pid == 0){
argv[0] = "ls";
argv[1] = "-l";
argv[2] = NULL;
execvp("ls", argv);
}
}
这是一个简单的 fork + execvp 问题,但我发现“ls”执行成功后,我必须按 Enter 才能回到命令行(shell)。
任何人都知道我该如何做到这一点,以便在 execvp("ls") 之后我可以在不点击“Enter”的情况下返回 shell?