execvp相关内容

g++:尝试执行“cc1plus"时出错:execvp:没有这样的文件或目录

我使用的是 ubuntu 12.04.我正在尝试“制作"一个项目. 我收到此错误: g++: 尝试执行 'cc1plus' 时出错: execvp: 没有这样的文件或目录 我已经安装了 g++. 解决方案 我尝试了@MonoThreaded 给出的命令,但它失败了.我在下面尝试过,它可以工作. sudo apt-get install g++ 请不要在 g++ 之后包 ..
发布时间:2022-01-23 20:48:14 其他开发

程序在 execvp(command.argv[0], command.argv) 后停止

我正在编写一个小 shell 程序,它接受一个命令并执行它.如果用户输入了无效命令,则 if 语句返回 -1.如果命令是正确的,它就会执行命令,但是一旦它执行了命令,程序就会结束.我做错了什么是不执行它之后的代码行?我已经用 ls 和 cat 命令测试了 execvp(command.argv[0], command.argv),所以我很确定它可以工作.这是我的代码. int shell(ch ..
发布时间:2022-01-11 23:41:26 C/C++开发

如何“更换"Windows 上的 `os.execvpe` 有效 - 如果“子"进程是一个交互式命令行应用程序吗?

我正在处理一个 Python 脚本,经过一些准备工作后,它会启动 ssh.我的脚本实际上是一个小的 CLI 工具.在类 Unix 系统上,在其生命周期结束时,Python 脚本将自身替换为 ssh 客户端,因此用户现在可以直接与 ssh 交互(即运行任意远程机器上的命令等): os.execvpe('ssh', ['ssh', '-o', 'foo', 'user@host'], os.envi ..
发布时间:2021-08-31 20:35:29 Python

子进程未在管道中退出

我目前正在测试一个执行 Linux 命令的程序 echo Hello |wc 使用管道. main() 中的父进程产生两个子进程,第一个执行 echo Hello,第二个执行 wc>.这两个进程通过管道进行通信. 但是,当我在两个子进程上调用 waitpid() 时,只有第二个进程退出.第一个进程成功运行execvp(),但挂在那里. 这是代码的假设输出: 命令 0命令 0 应 ..
发布时间:2021-06-18 18:32:44 服务器开发

Linux shell 中的管道函数用 C 编写

我的小shell程序接受管道命令,例如,ls -l |wc -l 并使用 excevp 来执行这些命令. 我的问题是,如果 execvp 没有 fork(),管道命令运行良好,但 shell 之后终止.如果execvp 有fork(),就会发生死循环.我无法修复它. 代码: void run_pipe(char **args){int ps[2];管道(ps);pid_t pid = ..
发布时间:2021-06-18 18:32:12 服务器开发

子进程的行为异常

我对子进程的行为有疑问.此测试程序的目的是运行Linux命令 echo.wc 使用管道. 我的命令不起作用,结果是调用了错误的c字符串. 预期输出为: 命令 0回声命令1厕所 但是,我得到了: 命令0回声命令1你好 我只有在注释掉后才能获得预期的输出execvp(),不退出子进程时. 这是测试功能: int测试(pid_t id []){我int pipefd [ ..
发布时间:2021-05-29 22:33:32 服务器开发

错误的类型涉及将向量转换为提要到execvp

我有一个字符串向量vector args,我需要将其转换为c字符串,然后再通过execvp调用作为参数运行.我不断收到错误“循环中的行从const char *到char *的无效转换.我不明白如何解决此问题,同时仍然导致可以馈给execvp的东西.虽然我看到过类似的文章,但我遇到的解决方案之一似乎可以解决我的问题. int argsLen = c->args.siz ..
发布时间:2020-06-14 18:46:21 C/C++开发

使用cat和execvp

试图理解为什么使用cat命令的这段代码不能在C语言中与execvp一起使用. char *in[5] ={"cat", "file1.txt", ">>", "file2.txt", 0}; execvp(in[0], in); 运行时,它显示file1.txt的内容,但随后显示: cat:>>没有此类文件或目录. 然后显示file2.txt的内容 为什么在这种情况下它不能识 ..
发布时间:2020-06-14 18:46:17 其他开发

exevp跳过所有代码,直到在c中等待调用

我正在尝试使用fork和execvp执行文件,但是遇到一些错误.我没有找到解决此在线问题的任何解决方案,因为我没有从exevp中得到任何错误,也没有运行它.这是我的代码: pid_t child; int status; child = fork(); char *arg[3] = {"test","/home/ameya/Documents/computer_sc ..
发布时间:2020-06-14 18:46:15 其他开发

如何保存execvp输出

我在保存execvp输出时遇到问题.我想将(ps -eo pid,fname,state,ppid,gid,sid)的输出保存在txt文件中. 这是我的代码: #include int main(void) { char* args[]={"ps","-eo","pid,fname,state,ppid,gid,sid" , ">" , "t.tx ..
发布时间:2020-06-14 18:46:12 其他开发

execvp实际做什么?

可能重复: 编写外壳程序-如何执行命令 我的任务是用C编写外壳程序.到目前为止,我了解execvp会尝试以arg2作为参数在arg1中运行程序.现在看来,这样做 execvp ("ls", args); //assume args is {"ls", ">", "awd.txt"} 并不等同于在控制台中输入 ls > awd.txt 我意识到我需要使用freopen来获 ..
发布时间:2020-06-14 18:46:08 其他开发

execvp/fork-如何捕获不成功的执行?

现在,我正在编写一个必须执行子进程的C程序.我不会同时执行多个子进程或执行任何操作,因此这非常简单.我肯定可以成功执行内置的shell程序(即cat和echo之类的东西),但是我还需要能够分辨出其中一个程序何时无法成功执行.我正在尝试使用以下简化代码: int returnStatus; // The return status of the child process. pid_t pid ..
发布时间:2020-06-14 18:45:58 其他开发

如何使用execvp()

用户将读取一行,并且我将保留第一个单词作为execvp的命令. 让我们说他将键入 "cat file.txt" .命令将是cat.但是我不确定如何使用此execvp(),我阅读了一些教程,但仍然没有得到它. #include #include int main() { char *buf; char command[32]; ..
发布时间:2020-06-14 18:45:52 其他开发