subprocess相关内容

如何停止将SIGINT传递给python中的子进程?

我的python脚本使用信号 process 模块拦截SIGINT信号,以防止过早退出,但是此信号传递给我用Popen打开的子进程.有什么方法可以防止将此信号传递给子进程,以便在用户按下ctrl-c时也不会过早退出该信号? 解决方案 您可以使用这是一个入门的简单代码段,该代码段存储旧的tty设置,将ctrl-c重新分配给ctrl-x,然后在退出时恢复以前的tty设置. import ..
发布时间:2020-07-07 02:47:10 Python

以与长期运行的Python进程不同的用户身份运行子进程

我有一个长期运行的守护进程Python进程,该进程使用子进程在发生某些事件时生成新的子进程.长时间运行的过程由具有超级用户特权的用户启动.我需要它产生的子进程以其他用户身份(例如"nobody")运行,同时保留父进程的超级用户特权. 我当前正在使用 su -m nobody -c 但这似乎很重,而且不会很干净地死掉. ..
发布时间:2020-07-07 01:29:19 Python

Python子进程.Popen在Windows上以其他用户身份使用

在Windows上以Python用户身份启动子进程的最佳方式是什么?最好使用XP及更高版本,但如果仅在Vista和7上运行,我也可以使用. 解决方案 我不确定您是否可以使用标准python库执行此操作.但是, pywin32 程序包具有win32process.CreateProcessAsUser 函数,可能就是您所需要的. ..
发布时间:2020-07-06 04:09:00 Python

使用python打开cmd并自动输入密码

我设法通过python打开了cmd.但是,在执行cmd.exe之前,使用runas管理员附带密码检查. 我正在使用它来打开cmd ... import subprocess subprocess.call(["runas", "/user:Administrator", "cmd.exe"]) 我正在寻找一种自动在运行代码时打开的runas.exe提示符中输入密码的方法.假 ..
发布时间:2020-07-06 04:08:59 Python

python管道子进程通过套接字进行输入/输出

我知道那里也有类似的问题,但是我在这个具体示例上遇到了麻烦,并且没有找到一个好的答案.我正在尝试为dar,沿这些行设置远程备份服务器.我已经问过单独的问题有关通过使用subprocess.Popen调用netcat来做到这一点,但是我更愿意设置套接字,并在可能的情况下使用python进行所有管道传输.将会有几场演出被转移,所以我不能只是先阅读所有输入然后再传递. 问题在于服务器似乎没有在读取 ..
发布时间:2020-07-04 23:53:22 Python

在新终端上运行os.system命令-Python 3

我正在运行一个程序,该程序允许我通过Python代码运行终端命令,该代码从用户通过命令行输入.这是我打开Goog​​le-Chrome浏览器的代码的一部分 import sys import os os.system("google-chrome") #I have Ubuntu 16.04 它会打开浏览器,但问题是运行我的python代码的终端与运行Chrome的终端相同,这意味着我 ..
发布时间:2020-07-04 23:46:57 Python

将stdout从subprocess.Popen保存到文件,以及向文件中写入更多内容

我正在编写一个使用subprocess.Popen的python脚本,以执行两个程序(来自已编译的C代码),每个程序均产生stdout.该脚本获取该输出并将其保存到文件中.因为有时输出的大小足以淹没subprocess.PIPE,导致脚本挂起,所以我将stdout直接发送到日志文件.我想让我的脚本在文件的开头和结尾以及两个subprocess.Popen调用之间写入一些内容.但是,当我查看日志文件 ..
发布时间:2020-07-04 21:48:42 服务器开发

测量外部程序使用的时间,内存量和cpu

我正在通过Python执行外部程序.我想知道使用subprocess.Popen()或subprocess.call()调用外部程序的最佳选择是什么.另外,我需要测量经过时间,外部程序使用的内存和CPU数量.我听说过psutil,但是我真的不知道该选择哪个. 解决方案 我还需要测量外部程序使用的时间,内存量和cpu (我假设您仅需要平台的 rusage .而且,由于Windows ..
发布时间:2020-07-04 19:51:48 Python

循环中只有第一个subprocess.Popen(...,stdin = f)可以正常工作

我在这里的主要目标是获取与Linux连接的计算机列表的所有cpu费用.我已经在网上挣扎了一段时间,但由于找不到答案,我必须错过一些东西. 所以我定义了一个cpu_script.py: import psutil print(psutil.cpu_percent(interval=1,percpu=True)) 在我的主脚本(位于同一文件夹中)中被调用, import subpro ..
发布时间:2020-07-04 19:50:38 Python

从本地计算机更改为虚拟主机时,从python脚本调用pdftotext不起作用

我写了一个小的python脚本来从PDF解析/提取信息.我在本地计算机上对其进行了测试,我具有python 2.6.2和pdftotext版本0.12.4. 我正在尝试在我的虚拟主机服务器(dreamhost)上运行它.它具有python版本2.5.2和pdftotext版本3.02. 但是当我尝试运行该脚本时,我在pdftotext行中收到以下错误(我也用一个简单的废弃脚本进行了检查 ..
发布时间:2020-07-02 20:03:17 Python

如何及在基于macOS Python的应用程序上通过本机GUI最佳地检索sudo密码的位置-(同时保持交互式输出流(stdout))

好的,情况是这样的:我正在使用Python和wx(wxphoenix)构建macOS GUI应用程序.用户可以使用GUI(例如:script1)启动文件删除过程(包含在script2中).为了成功运行,script2需要以sudo权限运行. script2将在一长串文件中删除该文件.但是我需要它在每一回合之后与script1中包含的GUI通信,以便script1可以更新进度条. 以绝对 ..
发布时间:2020-07-02 04:31:30 Python

如果在等待`read -s`时被中断,则在子进程中运行bash会破坏tty的stdout.

@Bakuriu在评论中指出,这基本上与 BASH:输入时按Ctrl + C会断开当前终端的操作,但是,只有当bash作为另一个可执行文件的子进程运行而不是直接从bash那里运行终端清理正常时,我才能重现该问题.对于为什么bash在这方面似乎被打破的答案,我会很感兴趣. 我有一个Python脚本,用于记录由该脚本启动的子进程的输出.如果子进程碰巧是一个bash脚本,该脚本有时会通过调用内置的 ..
发布时间:2020-06-29 19:04:05 服务器开发

Python:如何防止子进程接收CTRL-C/Control-C/SIGINT

我目前正在为外壳中运行的专用服务器的包装程序工作.包装器通过子进程产生服务器进程,并观察其输出并对之作出反应. 必须为专用服务器明确提供命令以正常关闭.因此,CTRL-C一定不能到达服务器进程. 如果我捕获了KeyboardInterrupt异常或覆盖了python中的SIGINT处理程序,则服务器进程仍会收到CTRL-C并立即停止. 所以我的问题是: 如何防止子进程接收CTRL ..
发布时间:2020-06-29 19:03:34 Python

等待过程,直到所有子过程完成?

我有一个创建两个或多个子流程的主流程,我希望主流程等待所有子流程完成操作并退出吗? # main_script.py p1 = subprocess.Popen(['python script1.py']) p2 = subprocess.Popen(['python script2.py']) ... #wait main process until both p1, p2 ..
发布时间:2020-06-26 19:05:14 Python

捕获“分段故障"消息,并向其发送消息.崩溃子进程的消息:调用communication()后没有out和err

我在使用子进程模块获取崩溃程序的输出时遇到问题. 我正在使用python2.7和子进程来调用带有奇怪参数的程序,以获得一些段错误 为了调用该程序,我使用以下代码: proc = (subprocess.Popen(called, stdout=subprocess.PIPE, stderr=s ..
发布时间:2020-06-15 19:28:19 Python

从FFProbe STDERR打印字符串时输出混乱

我正在尝试制作一个简单的函数来包装FFProbe ,并且大多数数据都可以正确检索. 问题是,当同时使用Windows Command Prompt和Git Bash for Windows将字符串打印到命令行时,输出看起来混乱和混乱. 某些歌曲(尤其是文件Imagine Dragons - Hit Parade_ Best of the Dance Music Charts\80 - ..
发布时间:2020-06-14 19:21:26 Python