11得票3回答
exec、execvp、execl、execv之间的区别是什么?

我正在编写一个代表Linux的新shell的代码。其中一个我想支持的命令是运行一个进程,例如如果我得到以下行: command [arguments] 那么我想将command作为一个进程运行,直到运行该进程结束。 为了做到这一点,我知道需要使用 fork() 来获取子进程并获取其P...

30得票2回答
为什么execvp函数的argv参数不是const类型?

execvp的定义如下:int execvp(const char *file, char *const argv[]); 这就排除了像下面这样的代码被使用:const char* argv[] = {"/bin/my", "command", "here", NULL}; execvp(ar...

18得票3回答
父进程在malloc之后进行了fork操作... 子进程需要释放它吗?

你脑海中的问题答案:是的,这是为学校而做的。不,我不能使用线程来解决这个问题。是的,我寻找了答案,有些人说“是”,有些人说“不是”。我还在核实我的教授,因为我不希望因为别人要求这个问题“修复”而不公平地失去分数。 说了这么多,考虑一下Linux系统上的C语言简单程序。我申请了一些内存,然后进...

26得票2回答
如何使用execvp()函数

用户将读取一行文本,我将保留第一个单词作为execvp的命令。比如说,如果他输入"cat file.txt",那么命令就是cat。但我不确定如何使用execvp(),我读了一些教程但仍然不理解。 用户将读取一行文本,我将保留第一个单词作为execvp的命令。 比如说,如果他输入"cat f...

8得票3回答
C - 使用Execvp执行Bash命令

我希望能够编写一个名为Shellcode.c的程序,接受一个包含换行分隔的Bash命令的文本文件作为输入,并执行文本文件中的所有命令。例如,文本文件将包含以下内容: echo Hello World mkdir goofy ls 我尝试了这个(只是为了开始练习其中的一个exec函数...

9得票3回答
显示已停止和正在运行的进程的Linux命令是什么?

我目前正在我的C程序中执行以下Linux命令以显示正在运行的进程。有没有办法修改它以显示已停止的进程和正在运行的进程? char *const parmList[] = {"ps","-o","pid,ppid,time","-g","-r",groupProcessID,NULL}; ex...

8得票3回答
从用户输入传递一个数组到execvp()函数

我正在尝试将用户输入的参数传递给execvp()。到目前为止,我已经将字符串分割。如果用户键入ls -a,则temp被保存为"ls"和"-a",后面跟一个空字符。我不确定如何在execvp中正确地指向它。在我看过的例子中,它使用execvp(temp[position], temp)。我知道我...

9得票4回答
"execvp()"执行后会返回控制吗?

if(pid == 0) { execvp(cmd, args); // printf("hello"); // apparently, putting this or not does not work. _exit(-1); } else { ...

16得票2回答
经典的C语言:在execvp函数中使用管道,进行标准输入和输出重定向。

我想在我的Linux C程序中使用管道和execvp函数模拟bash。ls -l | wc -l 这是我的程序:if(pipe(des_p) == -1) {perror("Failed to create pipe");} if(fork() == 0) { //first fo...

12得票2回答
致命错误:无法执行'as':execvp:没有那个文件或目录。

无论何时我尝试编译c/cpp文件,都会出现以下错误:Whenever I try to compile c/cpp files it gives this error:gcc: fatal error: cannot execute ‘as’: execvp: No such file or ...