草庐IT

python - 在 Windows psutil 中查找进程是否正在运行

process_name="CCC.exe"forprocinpsutil.process_iter():ifproc.name==process_name:print("have")else:print("Donthave")我知道CCC.exe正在运行。我用2.7和3.4python尝试了这段代码我也导入了psutil。然而,该过程在那里,但它正在打印“没有”。 最佳答案 name是proc的一个方法:process_name="CCC.exe"forprocinpsutil.process_iter():ifproc.name

python - psutil.WindowsService.username() 返回空白

在我的Win10机器上有一些显示名称以“_5e11c”结尾的服务。Windows服务控制台显示它们都以本地系统身份登录。但是,对于其中任何一个psutil.WindowsService.username()都会给出一个空字符串,如果我使用psutil.Process.username()查询进程,我会得到我登录的用户:>>>importpsutil>>>>>>s=psutil.win_service_get("OneSyncSvc_5e11c")>>>s>>>p=psutil.Process(s.pid())>>>p>>>p.username()'FOO_PC\\BAR_USER'>>

python - Windows下Python如何限制内存和CPU使用?

我在Windows下使用Python和Tensorflow库编写深度学习软件。有时我错误地向内存加载了太多内容,导致计算机停止响应;我什至无法终止进程。是否可以在Windows下限制Python脚本的内存和CPU使用率?我使用PyCharm作为编辑器。在UNIX系统下,似乎可以使用resource.RLIMIT_VMEM,但在Windows下,我收到通知nomodulenamedresource。 最佳答案 这是运行资源密集型进程时的常见问题,其中所需的内存总量可能难以预测。如果主要问题是整个系统停止,您可以创建一个看门狗进程来防止

python - 使用python在windows中获取ppid

我有一个正在运行的进程pid列表,我想杀死子进程,而不是进程本身。我想迭代所有进程并获取ppid以与我必须知道是否必须终止该进程的pids进行比较。我使用了psutil,但它有我不想依赖的依赖项。现在,我已经能够通过这样做来迭代所有进程:process_list=os.popen('TASKLIST').read()forpinprocess_list:printp 最佳答案 您将需要某种DLL,因为Windows没有产生PPID的内部API。如果您不使用psutil,则必须自己编写。查找子进程的Python支持由系统相关库调用ps

python - 如何在 python 中执行批处理文件后关闭命令提示符窗口?

我有一个批处理文件,它运行一个基于python的应用程序,它连续读取消息。我有python脚本,它在超时后关闭应用程序并执行剩余代码。我正在使用Subprocess.Popen进行批处理文件运行和terminate()调用以终止,但Cmd窗口仍处于打开状态。不是关门了吗?直到窗口关闭,代码才会执行​​。如何强制关闭cmd? 最佳答案 您可以使用psutil特别是Process.terminate()功能。假设您的命令提示符窗口名称是“myscript”forprocinpsutil.process_iter():ifproc.nam

python - 如何等待子进程的启动?

我执行一个进程(使用Popen),过了一会儿,这个进程执行了一个子进程。我要做的是等待子进程生成,然后继续执行我的脚本。我发现的唯一方法是使用psutil并轮询直到进程有子进程。process=psutil.Process(subprocess.Popen(command).pid)while0==len(process.children()):time.sleep(0.2)有比轮询child更好的方法吗?也许在等待一些事件?我为此使用Windows10。 最佳答案 根据您的评论,您可以让正在吃午餐的进程在启动其子进程时向STDOU

python - 在 Windows 中暂停进程

我正在为Windows上的ffmpeg制作一个漂亮的小PythonGUI前端(一个专门设计用于将视频转换为iPhone友好格式并自动将其导入iTunes并标记它),我希望它能正常工作您可以暂停该过程并在需要时恢复它。因为我将ffmpeg作为一个单独的进程启动,所以显而易见的解决方案是让程序暂停进程(我知道这在Windows中是可能的,ProcessExplorer可以做到),但我不知道该怎么做它。有谁知道如何在Python中执行此操作? 最佳答案 您可以使用psutil(https://github.com/giampaolo/ps

Python lambda函数根据字典对列表进行排序

下面的示例代码检索所有正在运行的过程并打印它们。他们是按照第三个例子写的here最后一个来自here.问题是我无法弄清楚为什么只有第一个检索按需要排序的进程。我认为这与lambda函数构造有关。但是正确运行的示例,第一个,似乎将for语句的本地p变量与p.dict字典混合在一起,让我卡住了。第一个样本:importpsutilprocs=[]forpinpsutil.process_iter():try:p.dict=p.as_dict(['pid','name'])exceptpsutil.NoSuchProcess:passelse:procs.append(p)processes

Python:进程/线程监控

目前我可以用一个简单的python脚本列出我的进程:导入操作系统os.system("任务列表")我想列出与这些进程关联的所有线程(如果有的话)。每个进程的线程数可能就足够了。谁能告诉我在哪里可以找到这些信息。谢谢。 最佳答案 您可以使用psutil模块(downloadhere)用于跨平台过程信息传递。安装后,使用以下代码获取任意进程id的线程数。importpsutilforprocinpsutil.process_iter():printproc.name+'['+str(proc.get_num_threads())+'th

Python psutil 不显示所有子进程

我有一个小的python脚本,基本上如下所示:importosimportpsutildefprocesstree():pid=os.getpid()#havetogotwolevelsuptoskipcallingshelland#gettoactualparentprocessparent=psutil.Process(pid).parent().parent()print'Parent%s[PID=%d]'%(parent.name(),parent.pid)print'|'forchildinparent.children(recursive=True):ifchild.pid