问题标签 [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.

0 投票
2 回答
558 浏览

ruby - 使用 Ruby popen 和 PostgreSQL createuser

我正在尝试编写一个非常简单的 rake 任务(并将其合并为一个相当大的 rake 任务),它将调用以下命令并传入一个随机生成的密码。目前,让我们甚至伪造随机生成,并给它一个设置密码“测试”:

我的任务代码如下:

io.write似乎不起作用,因为我仍然必须输入密码。它也没有被破坏。运行任务并手动输入密码后,我可以使用该密码登录psql

我已经尝试了很多变体,例如io.close,打开文件'w',甚至'r'或者'r+'因为我看到了使用它的其他示例。

我对如何让它发挥作用有点困惑。任何想法/评论/答案将不胜感激!

编辑 1:这是在 Debian (Lenny) Linux 系统上,以防万一。

0 投票
3 回答
24058 浏览

c - 使用popen的非阻塞管道?

我想打开一个管道popen()并对其进行非阻塞“读取”访问。

我怎样才能做到这一点?

(我发现的例子都是阻塞/同步的)

0 投票
3 回答
8060 浏览

c - fclose()/pclose() 可能会阻塞某些文件指针

在ing 其文件描述符阻塞之后调用fclose()此处,直到子进程结束(可能是因为流已经结束)。dup()

但是,通过手动执行pipe(), fork(), execvp(),popen()然后dup()ing 管道的读取文件描述符,关闭原始文件不会阻塞。

为什么会发生这种情况,我该如何关闭FILE *返回popen()并在其位置使用文件描述符?

更新:

我知道文档说要使用pclose(),但是fclose()也有块。此外,我在 glibc 代码中四处寻找,然后pclose()只调用fclose(). fclose()无论使用或使用,行为都是相同pclose()的。

0 投票
2 回答
430 浏览

linux - 管道的弹出和状态

假设我通过popen(只读)从流程 PA 生成流程 PO。然后我pclose()将管道放在 PA 一侧。

在 PO 方面,我如何确定stdout是否仍然可用而不执行write()

请注意,我曾尝试在 PO 方面捕获 SIGPIPE,但无济于事。

更新:我尝试使用fstat(1, &buf)但没有成功。

更新:我需要通过 PO 检测这种情况的原因是我无法从 PA 访问 PO 的 PID(因此无法杀死它)。此外,我希望 PO 在 PA 的失败(即自行退出)时更加稳健。

解决方案:我继续使用socketpairfork. 试图控制一个过程popen被证明是一场噩梦(至少对我来说)。 非常感谢所有做出贡献的人!

0 投票
2 回答
220 浏览

ruby-on-rails - Ruby/RoR 和许多子流程

我正在尝试使用 ruby​​/rails 构建一个免费的 Web 应用程序它应该能够通过各种移动运营商的在线表格发送短信。(就像这个(俄语))。

所以,我需要

  • 等待想要通过我的网站发送短信的用户。
  • 建立与运营商网站的连接。可能,使用机械化。
  • 检索验证码
  • 向用户显示验证码
  • 允许用户输入消息和验证码
  • 在运营商网站上提交表格(带有消息、验证码、电话号码)

在整个过程中,与运营商网站的连接应该是活动的(否则验证码会改变)。据我了解,每次发送短信时,我都需要创建一个(子)进程。您能否告知在 rails\ruby 中处理此问题的最佳方法是什么?

我对网络开发还是很陌生...我应该使用线程吗?叉子?弹出?使用 PTY?一些外部宝石?我应该如何与我的流程沟通?

0 投票
6 回答
19442 浏览

python - 从 python 字符串中删除

当您在 Python 中运行某些内容popen时,结果来自缓冲区,每行末尾带有回车符 (13) 的 CR-LF 十进制值。如何从 Python 字符串中删除它?

0 投票
5 回答
15318 浏览

python - 在没有控制台的情况下使用 Popen 在 pythonw 中运行进程

我有一个带有 GUI 的程序,它通过 Popen 调用运行外部程序:

但是无论我做什么,都会弹出一个控制台(我也尝试将它传递给 NUL 作为文件句柄)。有没有办法在不获取我调用的二进制文件来释放其控制台的情况下做到这一点?

0 投票
1 回答
3581 浏览

python - Python中的子进程Popen和PIPE

以下代码将空行打印为错误的输出。问题不在于权限,因为我测试了具有 pdf 文件的 777 权限的命令。如何修复命令以提供正确的输出?

0 投票
2 回答
1213 浏览

python - 2.4中杀死Windows异步Popen进程

我有一个测试脚本需要打开一个进程(一个 Pyro 服务器),做一些事情来调用打开的进程以获取信息,当这一切都完成后,需要关闭进程。这都是登台服务器上自动化测试的一部分。

在 python 2.6 中,您可以这样做:

唉,我在这里工作时被锁定在 python 2.4 中,所以我无法访问该功能。如果我只是让脚本结束,服务器当然会继续存在。在脚本退出之前,我应该怎么做才能关闭/杀死该进程?

0 投票
6 回答
629 浏览

python - 从 python 字符串中去除 final 0

每 1 秒从剪贴板获取一个条目并打印一次。

结果:

我不知道为什么它返回最后的 0,但它显然阻止了我使用字符串条(int 没有条),因此 0 使字符串成为整数?

如何在上面的结果中从 python 字符串中去除最后的 0?

我是转换为 python 的 BASH 脚本编写者。