问题标签 [execv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
246 浏览

python - 如何等待一个在 win32 上使用 os.execv() 重生的孩子?

我有一些代码使用pip为构建过程引导 Python 环境:这是确保我们将构建需求与主机系统的其余部分适当隔离并帮助我们获得更一致的整体构建结果的好方法。

无论如何,我拥有的驱动器代码pip.py在 Windows 上似乎存在一些问题。问题是我正在pip从我的引导脚本中subprocess.Popen()生成进程,然后等待进程完成,但由于pip使用execv在它创建的新virtualenv下重新启动自身,这种情况发生得太早了。当这种情况发生时,我的父母看到孩子已经退出,退出代码为 0,并且它继续以快乐的方式进行。

所以问题很简单:如何处理os.execv()来自 win32 上的子进程的调用,以便确定新执行的子进程的返回码?

0 投票
2 回答
684 浏览

c++ - 非法参数 Execv() Unix C++

所以我基本上有一个向量 args,每个数组有 1 个参数,我试图将其传递给 unix 中的 execv() 调用。

Execv 接受两个参数,如下所示: int execv(const char *path, char *const argv[]);

将我的字符串向量转换为指针数组的最佳方法是什么?现在我正在执行以下操作,但是当我运行它时说,ps -a -f,ps 对我大喊大叫说非法参数。任何帮助表示赞赏。

.

0 投票
5 回答
11210 浏览

c++ - C++ fork() 和 execv() 问题

我是 C++ 的新手,在 Linux 上开发一个简单的程序,该程序应该调用同一目录中的另一个程序并获取被调用程序的输出,而不在控制台上显示被调用程序的输出。这是我正在处理的代码片段:

我遇到的一个问题是我可以在控制台上打印前两行,但我不能打印最后两行。我认为当我调用 Satzoo 程序时程序停止工作。另一件事是这段代码调用了 Satzoo 程序两次,我不知道为什么?我可以在屏幕上看到两次输出。另一方面,如果我使用 system() 而不是 execv(),那么 Satzoo 只能工作一次。

我还没有弄清楚如何在我的程序中读取 Satzoo 的输出。

任何帮助表示赞赏。

谢谢

0 投票
3 回答
988 浏览

c - 管道没有接收到子进程的所有输出

我想打开一个程序的管道并从中读取输出。我最初的倾向是使用 popen(),但该程序有许多选项,而不是与 shell 引用/转义作斗争,我决定使用 pipe()、fork()、dup() 的组合来绑定到父/子中的 stdin/stdout 的管道的末端,以及用程序调用替换子的 execv() 传递了它期望作为数组的所有选项。

该程序输出多行数据(并在每行之后刷新标准输出)。父代码将 stdin 设置为非阻塞,并使用 fgets() 在循环中读取它。当 fgets() 返回非 NULL 或标准输入具有 EAGAIN 或 EWOULDBLOCK 错误条件时循环运行。

它成功接收了大部分行,但到最后它似乎下降了,最后一个 fgets() 失败并出现“没有这样的文件或目录”的奇怪错误。

有谁知道我在这里可能做错了什么?

0 投票
3 回答
540 浏览

c++ - 从 C++ 执行命令,argv[0] 中的预期是什么?

我正在使用execv()从 /bin/ 运行命令,例如我的 c++ 程序中的“ls”、“pwd”、“echo”,我想知道我应该在 argv[0] 中提供什么值;

0 投票
4 回答
331 浏览

linux - 一个关于execv和进程家族关系的问题

在一个进程分叉并且分叉的儿子调用 execv 之后,结果仍然是父亲的儿子吗?

0 投票
3 回答
2632 浏览

c - 这会被认为是内存泄漏吗?

考虑这个毫无意义的程序:

释放不会ptr对 main.c 或其他程序构成内存泄漏,还是在调用 execve 时它会被释放?

0 投票
1 回答
1025 浏览

c - 为什么 execv 会崩溃?

我用 GCC4.2 编译任何想法为什么这可能会崩溃?我在 xcode 中没有收到任何错误消息。

编辑:用户错误。“崩溃”意味着 xcode 在运行程序时冻结。按继续工作正常。

0 投票
3 回答
1298 浏览

python - 使用 execv 运行时指定 Python 解释器的跨平台方式

我目前在 Linux 和 Windows 7 上运行 Python 脚本。该文件以 execv 样式执行,我的意思是解释器是在命令的文件开头定义的。

在 Windows 系统中,解释器规范为:

但是在 Linux 中,这需要

我想在两个系统中都运行这个脚本,而不必一次又一次地更改这一行。

我已经尝试了以下内容:

也:

那么:有什么方法可以指定多个解释器?

0 投票
2 回答
1782 浏览

unix - 从 OCaml 中调用外部程序

我对 OCaml 很陌生,并试图弄清楚如何从 OCaml 中调用外部程序。

我一直在关注此处的文档,并进行了以下调用:

这将返回以下内容:

我究竟如何访问返回的匿名函数?

cat text_file是打印文件内容的简单尝试,我实际要运行的命令有点复杂。但是,我认为如果我能运行这个程序,我应该能够运行我的真实程序。