我正在编写自己的 unix 终端,但在执行命令时遇到了问题:
首先,我获取用户输入并将其存储到缓冲区中,然后将单词分开并将它们存储到我的 argv[] 数组中。即命令是“firefox”来启动存储在 argv[0] 中的 firefox
如何启动命令?这就是我想要做的,但我得到了错误:
void launchProcess(char *command[], char *file){
pid_t pid;
pid = fork();
if (pid == -1) {
perror("Error when forking");
exit(EXIT_FAILURE);
}
if (pid == 0){
fprintf(stderr, "Child pid = %d\n", getpid());
execv(file, command);
}
当我打电话时:
launchProcess(commandArgv, "STANDARD");
我收到以下错误:错误:launchProcess 的类型冲突