Articles of 子

Pythonsubprocess在返回输出之前在后台运行

我有一些我想用perf进行debugging的Python代码。 为此,我想使用subprocess。 以下命令返回进程的指令相关信息,直到通过Ctrl ^ C退出命令。 perf stat -p <my_pid> 现在,我想在后台运行Python代码,直到我希望能够终止它的操作并打印命令输出。 展现我的意思: x = subprocess.call(["perf","stat","-p",str(GetMyProcessID())]) .. CODE TO DEBUG .. print x # I want to terminate subprocess here and output 'x' 现在,我想确定在'print x'行中要做些什么来终止进程并检查输出。 任何想法/帮助表示赞赏。 欢呼声和感谢提前,

如何确定通过os.system启动的进程的PID

我想用程序启动几个子foo.py ,即模块foo.py启动foo.py几个实例。 由于我有时不得不手动终止进程,我需要进程id来执行kill命令。 即使整个设置是相当“脏”,是否有一个良好的pythonic方式来获得进程的pid ,如果进程是通过os.system启动? foo.py: import os import time os.system("python bar.py \"{0}\ &".format(str(argument))) time.sleep(3) pid = ??? os.system("kill -9 {0}".format(pid)) bar.py: import time print("bla") time.sleep(10) % within this time, the process should be killed print("blubb")

如何获得进程的祖父母身份证

我怎样才能得到当前进程的父进程ID? 一般给一个进程ID我怎么能得到它的父进程ID? 比如os.getpid()可以用来获取父进程的id和os.getppid(),我如何得到祖父母, 我的目标是Linux(Ubuntu的),所以平台的具体答案是好的。

如何从subprocess.Popen()获取输出

我想从执行Test_Pipe.py输出,我试过在Linux上的代码,但它没有工作。 Test_Pipe.py import time while True : print "Someting …" time.sleep(.1) Caller.py import subprocess as subp import time proc = subp.Popen(["python", "Test_Pipe.py"], stdout=subp.PIPE, stdin=subp.PIPE) while True : data = proc.stdout.readline() #block / wait print data time.sleep(.1) proc.stdout.readline()被封锁,所以没有数据打印出来。

如何在默认程序中启动文件,然后在脚本结束时closures文件?

概要 我有wxPython GUI,它允许用户打开文件来查看。 目前我用os.startfile()做到这一点。 不过,我已经知道这不是最好的方法,所以我正在寻求改进。 startfile()的主要缺点是一旦启动文件,就无法控制文件。 这意味着用户可以将文件保留为打开状态,以便其他用户不可用。 我在找什么 在我的GUI中,可以有孩子的窗户。 我通过将GUI对象存储在列表中来跟踪所有这些,然后当父对象closures时,我只是遍历列表并closures所有的子对象。 我想对用户select的任何文件做同样的事情。 我怎样才能启动一个文件,并保留一个python对象,以便我可以closures它的命令? 提前致谢 我的一个解决scheme的梦想 以这样一种方式启动文件,即可以在函数之间传递一个Python对象 以某种方式在默认程序中启动文件并返回PID 一种用文件名检索PID的方法 目前的进展 这是我打算使用的框架。 重要的位是FileThread类的run()和end()函数,因为这是解决scheme将要去的地方。 import wx from wx.lib.scrolledpanel import ScrolledPanel import threading import os class GUI(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, 'Hey, a GUI!', size=(300,300)) self.panel = ScrolledPanel(parent=self, id=-1) self.panel.SetupScrolling() self.Bind(wx.EVT_CLOSE, self.OnClose) self.openFiles = [] self.openBtn = wx.Button(self.panel, -1, […]

Pythonsubprocess。在Windows上以不同的用户身份打开

在Windows上用Python启动一个subprocess的最佳方式是什么? 最好XP和以上,但如果它只适用于Vista和7,我也可以忍受。

Subprocess.call或Subprocess.Popen不能使用PATH(Linux / Windows)中的可执行文件

我正在编写一个程序,需要在Linux和Windows上运行,并使用path中存在的可执行文件(带有参数)。 (假定) 目前,我在使用Subprocess.Call和Subprocess.Popen在Windows中运行可执行文件时遇到问题。 对于这样的代码,在Windows 8中 def makeBlastDB(inFile, inputType, dbType, title, outDir): strProg = 'makeblastdb' strInput = '-in ' + inFile strInputType = '-input_type ' + inputType strDBType = '-dbtype ' + dbType strTitle = '-title ' + title strOut = '-out ' + os.path.join(os.sep, outDir, title) cmd = [strProg, strInput, strInputType, strDBType, strTitle, strOut] result […]

使用VLC的虚拟接口时如何防止显示控制台

我尝试从Node.js服务器脚本以“虚拟”模式启动VLC,但是使用child_process.spawn('vlc',['-I dummy'])会在使用Windows时为VLC的输出生成一个新的控制台窗口。 有没有办法来防止这种情况发生,并通过标准输出ReadableStream强制所有的标准输出,所以没有“popup窗口”发生? 编辑 :这个问题与node.js没有任何关系,只是我调用它的方式和VLC的行为。 解决scheme如下。 谢谢。

Windowsbatch file – 显示所有子文件夹

我很难使用Windowsbatch file返回JUST文件夹(忽略文件)。 这是我现在所拥有的。 目前它正在回荡文件和子文件夹。 for /r %%g in ("xx*") do echo %%g 另外,假设我只想返回以不同前缀开头的文件夹。 例如:我只想回显文件夹“work”下的以w *,we *,cm *,cr *等开头的文件夹。 我这样做是否可以使用batch file? 谢谢。

Popen冲突的可执行文件/path

我想使用Popen从Python脚本中调用ImageMagick中的“convert”实用程序,如下所示: Popen(["convert", input_path, "-flop", output_file_path]) (上面的例子简单地反转了图像水平) 问题是,当我在Windows中运行脚本时,它错误地调用Windows附带的convert.exe实用程序将FAT分区转换为NTFS! (位于\ Windows \ system32) 现在,如果我在system32以外的任何目录中随机打开一个命令提示符并键入“convert”,它就会正确运行ImageMagick可执行文件。 所以,这意味着Popen自动查找system32。 我怎样才能让它不看在system32,并运行正确的可执行文件?