【简单分析Python中用fork()函数生成的子进程】教程文章相关的互联网学习教程文章

Python C程序子进程挂起“for line in iter”【代码】

好的,我试图从python脚本运行一个C程序.目前我正在使用测试C程序:#include <stdio.h>int main() { while (1) {printf("2000\n");sleep(1); } return 0; }模拟我将要使用的程序,它不断地从传感器获取读数.然后我试图在C程序中使用python中的子进程读取输出(在本例中为“2000”):#!usr/bin/python import subprocessprocess = subprocess.Popen("./main", stdout=subprocess.PIPE) while True:for line in iter(process.stdout.rea...

Python子进程scp – 无法读取所有输出【代码】

我正在尝试SCP机器之间的文件,当用户没有设置私有/公共证书进行无密码登录时,我需要失败.不幸的是,使用subprocess.Popen我无法弄清楚如何捕获以下输出:The authenticity of host '***' can't be established. RSA key fingerprint is ***. Are you sure you want to continue connecting (yes/no)它总是显示在控制台上,我无法在我的程序中找到它来检测它. 这是一些示例代码:proc = subprocess.Popen(['scp', 'user@server:/locat...

在Python中线程化子进程【代码】

如果我使用Python的线程库,我可以更快地完成一批子进程吗?比方说我需要将100个.wav文件转换为.mp3文件.如果我将’ffmpeg’包装在使用线程的Python脚本中,我可以更快地完成任务吗?线程是否允许我实际使用i7中可用的所有8个线程? 我最近偶然发现了一个Python脚本,它会ping一个主机列表,但利用线程来加快速度.这个剧本看起来很简洁,很容易让像我这样的初学者阅读和理解.所以这就是我的另一个问题:所有关于运行并行任务的讨论是如此...

Python子进程输出不正确?【代码】

我认为我根本不理解python子进程,但这里有一个简单的例子来说明我对此感到困惑的一点:#!/usr/bin/env python import subprocess lookup_server = subprocess.Popen("nc -l 5050", shell=True) lookup_client = subprocess.Popen("nc localhost 5050", shell=True, stdin=subprocess.PIPE) print lookup_client.poll() lookup_client.stdin.write("magic\n") print lookup_client.poll() ...

无法运行Popen.communicate()两次. (Python子进程模块)【代码】

如果我运行两次通信功能,有人可以解释为什么我会收到此错误吗? 例如from subprocess import * SVN=Popen('which svn', shell=True, stdout=PIPE) print SVN.communicate()[0]回报"/usr/bin/svn"但再次运行沟通……print SVN.communicate()[0]返回…Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", ...

试图将bash语句转换为python中的子进程【代码】

我试图将一个bash命令转换为python中的子进程. bash命令是: cat LogFile.msg.log | grep ABCD | awk{print $14,$10,$5,$7}’| sort -t” – k4 -n -r |头-10> output.csv 到目前为止,我有以下子进程:cat = subprocess.Popen(['cat', 'LogFile.msg.log'],stdout=subprocess.PIPE,) grep = subprocess.Popen(['grep', 'ABCD'],stdin=cat.stdout,stdout=subprocess.PIPE,) awk = subprocess.Popen(['awk', '{print $14,$10,$5,$7}'...

在python中运行子进程时泄漏【代码】

当我跑这个时,我得到了泄漏.我不确定它到底发生了什么.我猜管道没有关闭或者可能是其他事情发生了.先谢谢你!def deactivateMetadataDevice(input_dmd_lun_wwn):#print('pvremove /dev/mapper/' + input_dmd_lun_wwn)status_cmd = Falseps = subprocess.Popen('/sbin/pvremove /dev/mapper/' + input_dmd_lun_wwn, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)for line in iter(ps.stdout.readline, ''):print ...

python:获取要修改的实际环境变量并传递给子进程【代码】

好吧,似乎环境变量的情况在python中不一致. 使用os.environ或os.getenv读取环境变量并在导入os模块时返回env的状态并不是秘密.使用os.environ键的赋值仍然可以更新环境. 但是,一旦我使用os.putenv或运行任何修改了环境的ctypes代码,我就会在实际的进程环境和os.environ之间产生不一致. Nuff说,无论是用os.system还是子进程库创建的,这个实际环境都将保留给子进程.在我的情况下,这是理想的行为. 现在我想查看并更改传递给子进程的环...

python – 将子进程与traceroute一起使用时没有错误输出【代码】

我正在尝试获取traceroute失败时返回的错误消息.例如:from subprocess import CalledProcessError, check_outputtry: output = check_output(["traceroute", "error"]) except CalledProcessError as error:output = error.outputprint "error: {}".format(output)输出:error:我尝试使用output = str(error.output)但输出保持为空.执行上述代码时会向终端打印一条错误消息,因此应该可以将其分配给变量,对吧?解决方法:如:https:...

python – 如何运行子进程,在GUI中显示其输出并允许它终止?【代码】

我一直在尝试编写一个运行子进程的应用程序,并且(除其他外)在GUI中显示它们的输出,并允许用户单击按钮取消它们.我开始这样的过程:queue = Queue.Queue(500) process = subprocess.Popen(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT) iothread = threading.Thread(target=simple_io_thread,args=(process.stdout, queue)) iothread.daemon=True iothread.start()其中simple_io_thread定义如下:def simple_io_thread...

Python子进程在接收stdin EOF时会遇到神秘的延迟【代码】

我将我在应用程序中看到的问题减少到下面的测试用例中.在此代码中,父进程同时生成2(您可以生成更多)子进程,这些子进程通过stdin从父进程读取大消息,休眠5秒,然后回写一些内容.但是,在某处发生了意外的等待,导致代码在10秒内完成而不是预期的5. 如果设置verbose = True,则可以看到分散子进程正在接收大部分消息,然后等待3个字符的最后一个块 – 它没有检测到管道已经关闭.此外,如果我只是不对第二个过程做任何事情(doreturn = True)...

将复杂命令转换为python子进程【代码】

我有以下命令:$ffmpeg -i http://url/1video.mp4 2>&1 | perl -lane 'print $1 if /(\d+x\d+)/' 640x360我正在尝试将此命令的输出设置为python变量.这是我到目前为止:>>> from subprocess import Popen, PIPE >>> p1 = Popen(['ffmpeg', '-i', 'http://url/1video.mp4', '2>&1'], stdout=PIPE) >>> p2=Popen(['perl','-lane','print $1 if /(\d+x\d+)/'], stdin=p1.stdout, stdout=PIPE) >>> dimensions = p2.communicate()[0] '...

将Xvfb和CutyCapt作为Python子进程运行【代码】

我正在尝试使用CutyCapt在后台截取屏幕截图 我的应用程序是用python编写的,并通过运行子进程调用CutyCapt. 在本地(Windows)工作正常,但Windows的CutyCapt.exe不需要x服务器.当我尝试在我的ubuntu盒子上执行我的代码(通过python子进程)时,它咆哮我没有向Xvfb提供命令.但是,如果我自己在盒子上运行命令它可以正常工作. 适用于框的命令:box$xvfb-run --server-args="-screen 0, 1100x800x24" ./CutyCapt --url=http://www.google.com...

如何在python中启动子进程而不是等待它返回【代码】

我正在django中构建一个与R编写的大型程序接口的站点,我想在运行R程序的站点上有一个按钮.我有这个工作,使用subprocess.call(),但是,正如预期的那样,服务器不会继续呈现视图,直到subprocess.call()返回.由于这个程序可能需要几个小时才能运行,这不是一个真正的选择.有没有办法运行R程序并继续执行python代码?我一直在搜索,并查看subprocess.Popen(),但我无法让它工作.这是我在视图中使用的通用代码:if 'button' in request.POST:...

从python调用php脚本(子进程)【代码】

我有一个PHP脚本,我在命令行中调用,如下所示:$php importTextFile.php --user "X" --title "name" notice_X.txt 我想在python脚本中使用该文件.我试过了 :for file in os.listdir("."):subprocess.call(["php", "-f", "importTextFile.php"], "--user=X", "--title="'%s' % name, file)我有他跟随错误:File "./pageFromFile.py", line 21, in mainsubprocess.call(["php", "-f","importTextFile.php"], "--user=Bot", "--title=...