【python – 是否可以在子进程中运行函数而无需线程化或编写单独的文件/脚本.】教程文章相关的互联网学习教程文章

Python子进程Popen.terminate()仍然停留在wait()【代码】

我正在尝试使用RPi实现一个无线电播放器.目标是设置播放列表并在填充播放列表后开始播放.一旦执行停止代码,播放器和无线电进程将退出. 无线电过程很好地终止,但即使在呼叫终止后,播放器进程仍然处于等待状态.如果再次调用停止代码,则播放器进程终止 事情尝试: >重新排序等待命令(播放器,收音机)/(收音机,播放器)>类似地重新排序终止命令>使用kill而不是终止挂起RPi 玩家代码:while playlist:player = subprocess.Popen(["avconv"...

关闭python命令子进程【代码】

我希望在关闭子进程后继续执行命令.我有以下代码但fsutil未执行.我该怎么做?import os from subprocess import Popen, PIPE, STDOUTos.system('mkdir c:\\temp\\vhd') p = Popen( ["diskpart"], stdin=PIPE, stdout=PIPE ) p.stdin.write("create vdisk file=c:\\temp\\vhd\\test.vhd maximum=2000 type=expandable\n") p.stdin.write("attach vdisk\n") p.stdin.write("create partition primary size=10\n") p.stdin.write("for...

如何在python中限制子进程stdout和stderr的大小【代码】

我需要运行用户提交的应用程序.我的代码看起来像:def run_app(app_path):inp = open("app.in", "r")otp = open("app.out", "w")return subprocess.call(app_path, stdout=otp, stdin=inp)既然我无法控制用户提交的内容,我想限制应用程序输出的大小.其他诸如尝试访问未经授权的系统资源和滥用CPU周期等因素正受到apparmor规则实施的限制.允许运行的最长时间由父进程处理(在python中).现在,一个流氓应用程序仍然可以尝试通过向stdou...

python – Twisted:在延迟子进程和http请求之间进行通信?

背景: 我有一个长期运行的子过程扭曲产生. 我已经将这个过程协议子类化了,我知道当我收到std out,std err等时 我希望单独的http请求(在一系列时间内)能够通过共享变量或全局类或其他东西来检查这些正在运行的进程的状态. 题: 如何让子进程协议的事件监听器“删除”数据,以便以后的http请求“拾取”.解决方法:制作一个“邮箱”对象;为了论证,让我们说它是一个列表.这可以是字典,对象,文件或数据库;任何你想要的.适合您的应用程序...

python – 使用子进程调用的程序 – 不打印记录器消息?【代码】

如果使用子进程调用此程序,则从程序的记录器获取消息时出现问题. 这是程序BooFoo.py,它使用记录器将消息打印到文件和控制台窗口:import logging LOG_FILENAME = 'example.log' logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG) logger = logging.getLogger('main') logger.addHandler(logging.StreamHandler()) print 'print foo' logger.info('logger boo')这是程序CallBooFoo.py:import subprocess proc = sub...

从python子进程获取输出并给出命令【代码】

我试图从子进程获取输出,然后根据前面的输出给该进程命令.当程序需要进一步输入时,我需要多次执行此操作. (如果可能的话,我还需要能够隐藏子进程命令提示符). 我认为这将是一个简单的任务,因为我已经看到这个问题正在2003年的帖子中讨论,并且它将近2012年,它似乎是一个非常普遍的需求,看起来它应该是任何编程语言的基本部分.显然我错了,不知何故,差不多9年后,仍然没有以稳定,非破坏性,独立于平台的方式完成这项任务的标准方法! 我...

通过子进程将python的文件像对象一样传递给ffmpeg【代码】

我有一个django FileField,我用它来存储亚马逊s3服务器上的wav文件.我已经设置了芹菜任务来读取该文件并将其转换为mp3并将其存储到另一个FileField.我面临的问题是我无法将输入文件传递给ffmpeg,因为该文件不是硬盘驱动器上的物理文件.为了避免这种情况,我使用stdin用django的文件字段来提供文件的输入流.这是一个例子:output_file = NamedTemporaryFile(suffix='.mp3') subprocess.call(['ffmpeg', '-y', '-i', '-', output_file...

python – 什么时候’命令’比’popen’子进程更可取?【代码】

我在没有上学的情况下学习系统管理,所以有时我会错过许多其他人的基本信息. 我试图在打印之前给我的stdout行另一个参数,但是我不确定我应该使用哪个进程,并且我对子进程的命令有点模糊,如果这是我应该使用的. 我目前的代码是:f = open('filelist', 'r') searchterm = f.readline() f.close()| #takes line from a separate file and gives it definition so that it may be callable.import commands commands.getoutput('print m...

python – 在子进程的共享c_wchar_p中设置字符串的值?【代码】

我有这样的情况: 主进程生成一些子进程,他们应该将结果写入字符串和数字类型的共享对象中,对于数值类型,没有问题但是字符串的值将丢失.import multiprocessing as mp from ctypes import Structure, c_double, c_wchar_p, c_int# shared obj class class SharedObj(Structure):_fields_ = [('name', c_wchar_p), ('val', c_double) ]def run_mp( values , lock , s ) :for i in range( s , len( values ) , 2 ):lock.acquire()val...

crontab python子进程和服务重启【代码】

我有一个小的python代码重新启动它不存在的nginx.当我运行sudo python monitor_server.py一切都很好.当我尝试使用root cron(sudo crontab -e)进行cron时:* * * * * python /root/monitor_server.py\u0026gt; /var/log/my_monitor/cron_log.log 2>& 1我明白了:Traceback (most recent call last):File "/root/monitor_server.py", line 19, in <module>restart_service('mongod')File "/root/monitor_server.py", line 10, in res...

为什么有时Python子进程在运行进程后无法获得正确的退出代码?【代码】

我正在使用Python子进程在Windows 7上运行外部脚本.我正在尝试获取退出代码. 在案例1中,我运行python脚本test1.py. test1.pyimport sys sys.exit(24) <--exit codemyscript1.pyimport subprocess process = subprocess.Popen(["python", "C:\\path\\to\\test1.py"], stdout=subprocess.PIPE) process.wait() print process.returncode在Windows命令提示符下,当我运行脚本时,我得到以下输出:>python test1.py > >echo %errorleve...

记录python子进程的语法错误和未捕获的异常,并将它们打印到终端【代码】

问题 我一直在尝试编写一个程序来记录子进程的未捕获的异常和语法错误.容易,对吗?把stderr管道送到正确的地方. 但是,子进程是另一个python程序 – 我将其称为test.py-,它需要运行,就像它的输出/错误没有被捕获一样.也就是说,运行记录器程序需要看起来像用户正常运行python test.py. 进一步使问题复杂化的是the problem,如果不使用readline,raw_input实际上会被发送到stderr.不幸的是,我不能只导入readline,因为我无法控制使用我的...

python – 显示tkinter小部件中子进程的实时输出【代码】

我的问题几乎与这个问题相同:Widget to Display subprocess stdout?但更进一步. 我有以下代码(python2.7):def btnGoClick(p1):params = w.line.get()if len(params) == 0:return# create child windowwin = tk.Toplevel()win.title('Bash')win.resizable(0, 0)# create a frame to be able to attach the scrollbarframe = ttk.Frame(win)# the Text widget - the size of the widget define the size of the windowt = tk.Text(...

Python子进程调用挂起【代码】

Python版本:2.6.7我在for循环中有以下subprocess.call,它被执行了18次,但是,这个过程一直挂在第19个循环上:if config.get_bool_option(NAME, 'exclude_generated_code', True):for conf in desc.iter_configs():for gen in desc.iter_generators(conf):generator.initialize_generated_path(gen, desc)for genpath in gen.generated_path:os.rename(cov_file, cov_file+'.temp')exclude = ['lcov']exclude += ['-r', cov_file+'....

如何杀死python中的子进程创建的进程?【代码】

在Linux Ubuntu操作系统下,我运行test.py脚本,其中包含一个使用子进程的GObject循环:subprocess.call(["test.py"])现在,这个test.py将创建进程.有没有办法在Python中终止这个过程?注意:我不知道进程ID. 如果我没有非常清楚地解释我的问题,我很抱歉,因为我是这个表格的新手并且一般都是python的新手.解决方法:我建议不要使用subprocess.call,而是构造一个Popen对象并使用它的API:http://docs.python.org/2/library/subprocess.h...