【python – 跨进程共享多处理同步原语】教程文章相关的互联网学习教程文章

python-子进程未调用我的命令(或做错了)【代码】

概述: 我有一个应用程序,有时必须用芹菜做一些东西-如果这是简单的任务,例如算点东西-一切都很好. 我有一个任务,必须使用MS Windows程序将现有文件转换为另一个文件.所以-我安装了WINE,然后安装了应用程序,并将以下任务添加到我的task.py中:def convert_file( fil, to_format = 'pdf', save_to = '/tmp', callback = None ):devnull = open( '/dev/null', 'w' )commands = "xvfb-run -a wine '[ABSOLUTE_PATH_TO_WINDOWS_APP]' /...

用Python列出在计算机上运行的进程

是否有跨平台的方法通过python脚本列出在计算机上运行的进程?对于基于Unix的系统,“ ps -ef”有效,但是我是Python的新手,并且不知道一种可以在任何平台上工作的方法. 谢谢!解决方法:Python本身不提供任何此类功能.在PyPI上,有enumprocess软件包,据说可以提供帮助.还有PSI包装.我个人还没有用过.

python对比线程,进程,携程,异步,哪个快

目录概念介绍测试环境开始测试测试【单进程单线程】测试【多进程 并行】测试【多线程 并发】测试【协程 + 异步】结果对比绘图展示概念介绍首先简单介绍几个概念: 进程和线程进程就是一个程序在一个数据集上的一次动态执行过程(数据集是程序在执行过程中所需要使用的资源)。线程也叫轻量级进程,它是一个基本的 CPU 执行单元,是比进程更小的能独立运行的基本单位。进程和线程的关系:一个线程只能属于一个进程,而一个进程可以有...

Python多进程【代码】

由于Python的GIL,多线程未必是cpu密集型程序的好选择。 多进程可以完全独立的进程环境中运行程序, 可以充分地利用多处理器。但是进程本身的隔离带来的数据不共享也是一个问题,而且线程比进程轻量级。 multiprocessing process类 Process类遵循了Thread类的API,减少了学习难度。 先看一个例子,前面介绍的单线程、多线程比较的例子的多进程版本。import multprocessing import datetime#计算 def cale(i):sum = 0for _ in range...

Python子进程返回非零退出状态-6【代码】

这是我关于stackoverflow的第一篇文章.我希望我的问题不要愚蠢:) 我正在使用django开发网站,在django中我需要抓取网站的缩略图,因此我使用https://github.com/coderholic/PyWebShot来实现它. 我用子进程在django shell中运行PyWebShot,它运行良好,但是当我将django放入apache2并使用URL访问它时,它将失败. 这是错误消息:CalledProcessError at GIVEN_URL Command ‘[‘echo’, ‘$HOME’]’ returned non-zero exit status -6实际...

如何从两个不同的进程访问串行端口(Python)

我想使用多重处理(以避免在多核计算机上出现GIL问题),并使用相同的串行端口进行读取和写入过程.那可能吗?如果是这样,如何获取端口,然后如何获取子进程可以使用的文件对象? 编辑-这需要在Windows上运行,但是Mac和Linux也将不错.解决方法:如评论中所述,一次只能有一个进程获取串行端口-因此,方法是创建另一个进程(可能使用Python xmlrpc或jsonrpc),该进程将执行实际的硬件I / O并进行修改您当前的读写脚本,以在该其他进程上调用远程...

在Python子进程模块中使用git filter-branch【代码】

我正在尝试编写一个脚本,该脚本将帮助我在少数Git存储库中将一些老用户映射到新用户.我遇到的问题是子流程模块.像“ git status”这样的简单命令似乎可以正常工作,但是更复杂的“ git filter-branch”命令对我来说却失败了. filter_history函数def filter_history(old, new, name, repoPath):command = """ filter-branch --env-filter 'an="$GIT_AUTHOR_NAME"am="$GIT_AUTHOR_EMAIL"cn="$GIT_COMMITTER_NAME"cm="$GIT_COMMITTER_E...

用Python的子进程模块包装Java程序的问题【代码】

我有一个小的Java程序,可以使用以下语法从命令行运行: java -jar EXEV.jar -s:myfile 这个Java程序将一些数据打印到屏幕上,我想将标准输出重定向到一个名为output.txt的文件中.from subprocess import Popen, PIPEdef wrapper(*args):process = Popen(list(args), stdout=PIPE)process.communicate()[0]return processx = wrapper('java', '-jar', 'EXEV.jar', '-s:myfile', '>', 'output.txt')当我运行上面的命令时,永远不会写入...

Python:进程/线程监视【代码】

目前,我可以使用简单的python脚本列出我的进程: 导入操作系统os.system(“任务列表”) 我想列出所有与那些进程相关的线程(如果有).每个进程的线程数可能就足够了. 有人会指导我在哪里可以找到此信息. 谢谢.解决方法:您可以将psutil模块(download here)用于跨平台过程信息传递. 安装后,使用以下代码获取任何进程ID的线程数.import psutil for proc in psutil.process_iter():print proc.name+' ['+str(proc.get_num_threads())+' t...

Python Multiprocessing:向所有进程发出事件信号的最快方法?【代码】

我正在使用python的多处理库对多个进程进行蒙特卡洛模拟.进程基本上会猜测某个对象,如果满足某些条件,它将被添加到共享列表中.如果此列表满足某些条件,我的计算就完成了. 我当前的代码如下所示:(伪代码,没有不重要的细节)mgr = Manager() ns = mgr.Namespace() ns.mylist = [] ns.othersharedstuff = x killsig = mgr.Event() processes = [ MyProcess(ns, killsig) for _ in range(8) ] for p in processes: p.start() for p in ...

Python线程和子进程

所以我在线程方面有问题.我提供了一个与程序中遇到的示例类似的示例.当我运行以下代码时,仅在按下菜单中的“退出”按钮后,它才会打印“你好”.它似乎挂在subprocess.call()上.我不明白怎么了! 另外,我没有使用Python进行线程处理的经验,并且我对整个语言还是陌生的,所以请随意对我大喊大叫以了解结构缺陷以及Python编程约定!

python-如何使用子进程运行virtualenv软件包安装【代码】

我正在为我的程序之一编写引导代码,并尝试使用subprocess.call安装到我的virtualenv目录中 最初我使用:subprocess.call(['pip', 'install', '-E', dir_name, 'processing'])在ubuntu上重新运行时,我注意到-E已过时(http://pypi.python.org/pypi/pip/),需要使用:virtualenv dir_name && dir_name/bin/pip install processing从cmd行可以正常工作,但不能在子进程中使用:subprocess.call(['virtualenv', dir_name, '&&', '{0}/bin/...

python-多个进程从同一管道异步读取【代码】

如何将数据从一个管道馈送到三个不同的进程?nulfp = open(os.devnull, "w")piper = Popen(["come command","some params" ], stdout = PIPE, stderr = nulfp.fileno())pipe_consumer_1 = Popen(["come command","some params" ], stdin = piper.stdout, stderr = nulfp.fileno())pipe_consumer_2 = Popen(["come command","some params" ], stdin = piper.stdout, stderr = nulfp.fileno())pipe_consumer_3 = Popen(["come comman...

与Python中的Unix过滤器进程进行通信【代码】

我正在编写一个Python程序,该程序需要使用充当过滤器的外部unix程序来清理许多小字符串.当前,我为每个要清理的字符串创建一个新的子进程:import subprocess def cleanstring(s):proc = subprocess.Popen(['/bin/filter','-n'],stdin=subprocess.PIPE, stdout=subprocess.PIPE,stderr=subprocess.PIPE)out, err = proc.communicate(s)assert not errreturn out显然,这种方法效率极低.在需要的时候,有什么有效的方法可以启动过滤器子...

python模拟进程状态【图】

python模拟进程状态 代码链接 https://gitee.com/xin_yu_liu/codes/xerwylhvsag0t8mz5qi7128 运行截图

同步 - 相关标签