问题标签 [subprocess]

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 投票
7 回答
31572 浏览

python - 在 Windows 中复制 fork() 的最佳方法是什么?

如何实现一些逻辑,使我能够fork()使用 Python 在 Windows 上通过系统调用重现我在 Linux 上的功能?

我特别尝试在 SAPI Com 组件上执行一个方法,同时在主线程中继续执行其他逻辑而不阻塞或等待。

0 投票
3 回答
686 浏览

python - 为什么 subprocess.Popen 类不命名为 Subprocess?

模块中的主要类subprocess是 name Popen,代表一个子进程。Popen听起来有人试图强制名称遵循某种函数命名格式,而不是选择一个实际代表对象的名称。有谁知道为什么选择它而不是简单的东西,比如,Subprocess

0 投票
63 回答
3957809 浏览

python - 如何执行程序或调用系统命令?

如何从 Python 脚本中调用外部命令(就像我在 Unix shell 或 Windows 命令提示符下输入的一样)?

0 投票
6 回答
5782 浏览

python - Python子进程问题与&符号

我目前有一个 python 脚本的主要问题。该脚本通过处理程序运行任意命令,以将不正确的错误报告转换为正确的错误报告。

我遇到的问题是让脚本在 Windows 上正常工作,其路径中包含与符号的命令。我尝试引用命令,用 ^ 转义 & 符号,但都不起作用。我现在没有主意了。有什么建议么?

从目前的回应中澄清:

  1. 我正在使用子流程模块
  2. 我将命令行+参数作为列表传递
  3. 问题在于命令本身的路径,而不是任何参数
  4. 我试过引用命令。它会导致[Error 123] The filename, directory name, or volume label syntax is incorrect错误
  5. 我没有使用 shell 参数(所以shell=false
  6. 万一这很重要,我会抓住一个管道到 stderr 来处理它,但忽略 stdout 和 stdin
  7. 它目前仅适用于 Windows,并且在我迄今为止测试过的所有其他情况下都可以正常工作。
  8. 失败的命令是:

p = subprocess.Popen(prog, stderr = subprocess.PIPE, bufsize=-1)

当列表 'prog' 的第一个元素包含任何 & 符号时。引用第一个字符串不起作用。

0 投票
12 回答
375296 浏览

python - 如何将字符串传递给 subprocess.Popen(使用 stdin 参数)?

如果我执行以下操作:

我得到:

显然,cStringIO.StringIO 对象与文件鸭的距离不够近,无法适应 subprocess.Popen。我该如何解决这个问题?

0 投票
4 回答
2759 浏览

python - 是否可以使用 subprocess.Popen 与子子进程通信?

我正在尝试编写一个打包我们软件的python脚本。该脚本需要构建我们的产品,并将其打包。目前,我们还有其他脚本可以单独完成每个部分,包括 csh 和 perl 脚本。一个这样的脚本运行如下:

其中 mod 是一个 perl 脚本;所以在python中我会做

问题是这个模组脚本需要回答几个问题。为此,我认为传统的

会工作。我认为它不起作用,因为 Popen 控制的过程是 sudo,而不是提出问题的 mod 脚本。有什么方法可以与 mod 脚本通信并仍然通过 sudo 运行它?

0 投票
3 回答
9308 浏览

java - 当我的 Java 应用程序退出/崩溃时,如何摆脱 Java 子进程?

我在 Java 中启动一个子进程,如下所示:

它现在在后台运行。一切都很好。

如果我的程序现在崩溃(它仍在开发中:-)),子进程似乎仍然存在。当父 Java 进程终止时,如何使其自动结束?

如果有帮助,我正在使用 Mac OS X 10.5

0 投票
3 回答
4418 浏览

python - 所有 os.popen() 方法之间有什么区别?

我正在查看Python 文档,发现有 4-5 个不同版本的 popen(),例如 os.popen()、os.popen2() 等。

除了有些包含stderr而有些不包含这一事实之外,它们之间有什么区别以及您什么时候使用它们?文档并没有很好地解释它。

0 投票
9 回答
74387 浏览

python - 如何使用 subprocess.Popen 通过管道连接多个进程?

如何使用 Pythonsubprocess模块执行以下 shell 命令?

输入数据将来自一个字符串,所以我实际上并不需要echo. 我已经走了这么远,谁能解释我如何让它通过管道sort

更新:请注意,虽然下面接受的答案实际上并未按要求回答问题,但我相信 S.Lott 是正确的,最好避免首先解决该问题!

0 投票
14 回答
75884 浏览

python - 确保子进程在退出 Python 程序时死亡

有没有办法确保所有创建的子进程在 Python 程序退出时都死了?我所说的子进程是指用 subprocess.Popen() 创建的那些。

如果不是,我应该遍历所有发出的杀戮然后杀死-9吗?有什么更清洁的吗?