问题标签 [popen]
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.
windows - 使用 IO.popen 等时弹出 DOS 窗口
我正在为 Windows XP 开发一个 GUI。%x()
一切都很好,除了当我通过反引号、 、等运行外部命令时IO.popen
,我得到一个 DOS 窗口,它会在一瞬间弹出。我知道当我在 OS X 和 Linux 上开发时不会发生这种情况。关于如何摆脱它的任何想法?(或者至少隐藏它?)
我使用rubyw
1.8.6(Windows 版 Ruby 的“GUI 版本”)和 GTK2 作为界面。
python - Python - 捕获 Popen 标准输出并在控制台上显示?
我想从一个长时间运行的进程中捕获标准输出,subprocess.Popen(...)
因此我将stdout=PIPE
其用作 arg。
但是,因为这是一个长时间运行的过程,我还想将输出发送到控制台(好像我没有通过管道传输它一样),让脚本的用户知道它仍在工作。
这是可能吗?
干杯。
winapi - 如何制作隐藏的一次性控制台应用程序并与之通信?
我编写了一个小型控制台应用程序来包装有问题的第三方 DLL。我正在使用_popen从 GUI 应用程序调用它,并且只想从控制台程序的标准输出中读取一个值。这样做时,会短暂显示一个不需要的控制台窗口。
我知道这可以通过使用带有 CreateProcess 的某个 STARTUPINFO 配置来避免。但是,我更愿意将修复程序放在控制台应用程序中并仍然使用 _popen。使用 windows 子系统(即 WinMain 而不是 main)创建子进程不会使控制台窗口消失。显然,操作系统分配了一个控制台来方便 _popen 通信。
请注意,第三方 DLL 不稳定,但需要与专有硬件接口。因此,任何在 GUI 应用程序内存空间中加载 DLL 的方法都是不可接受的。
c - 忽略单个弹出文件的 SIGPIPE*
我正在查看的代码在这里:
Sparkle 就像一个插件。它可以在多线程程序中实例化。因此,我不想调用 signal(SIGPIPE, SIG_IGN) (即忽略所有SIGPIPE),因为谁知道其他线程正在做什么/期待什么。
如何禁用通过 popen 打开的这个 FILE 指针的 SIGPIPE 信号?
ssh - 在“ssh”的 popen() 上调用 fgets() 正在刷新调用进程的标准输入的开头(ptty 问题)
我现在已经将其缩减为一个最小的测试用例。到目前为止,我已经能够确定这是与 ssh 管道出现的伪终端有关的问题。在 ssh 调用中添加“-t -t”可以改善问题,因为现在需要再次调用 fgets() 才能导致问题。我怀疑 ssh 命令的 stderr 输出以某种方式解决了这个问题,现在我已将 stderr 重定向到 ssh 代码中的 stdout 以执行。我确实想知道“tcgetattr:无效参数”错误是否是问题的一部分,但我不确定如何摆脱它。它似乎来自存在的 -t -t 。我相信 -t -t 正朝着正确的方向发展,但我必须以某种方式为 stderr 设置伪终端,也许测试会正常工作?
生成文件:
test.c 源文件:
这表明它正在运行:
这表明它以失败的方式运行:
python - 如何从 subprocess.Popen() 获取输出。proc.stdout.readline() 块,没有数据打印出来
我想要执行 Test_Pipe.py 的输出,我在 Linux 上尝试了以下代码,但没有成功。
Test_Pipe.py
调用者.py
线路proc.stdout.readline()
被阻塞,所以没有数据打印出来。
python - 在 Python 2.5 及以下版本不使用 shell 创建可执行进程
正如标题所说:
- 该
subprocess
模块不能使用,因为这应该适用于 2.4 和 2.5 - 不应生成 Shell 进程来传递参数。
为了解释 (2),请考虑以下代码:
如您所见os.system
并os.popen
通过系统外壳(“sh”)运行给定的命令(“foo”)。我不希望这种情况发生(否则,丑陋的“未找到”消息会在我无法控制的情况下打印到程序 stderr)。
最后,我应该能够将参数传递给这个程序(上例中的“arg”)。
在 Python 2.5 和 2.4 中如何做到这一点?
python - 如何在 Python 2 中将字符串传递给 subprocess.Popen?
我想使用 Python (2.4/2.5/2.6) 运行一个进程Popen
,并且我想给它一个字符串作为其标准输入。
我将编写一个示例,其中进程执行“head -n 1”其输入。
以下工作,但我想以更好的方式解决它,而不使用
echo
:
我尝试使用StringIO
,但它不起作用:
我想我可以制作一个临时文件并在那里写入字符串——但这也不是很好。
python - Python subprocess.Popen - 添加 GCC 标志会导致“无输入文件”错误
我正在构建一个 Python 脚本来自动化我的构建过程,它使用 subprocess.Popen 调用 GCC。我最初的尝试效果很好。
但是,一旦我将其他选项传递给 GCC,我就会收到错误“无输入文件”,如下所示:
任何想法可能导致此问题?
c++ - 如何在 C/C++ 中的 Windows 下使用包含空格的路径名调用 popen()?
我正在尝试使用 mingw 调用 popen() ,如下所示:
但我无法让它工作。我认为这是一个引用的噩梦......