`
mzj8812463
  • 浏览: 1828 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用Python中Popen的疑问

阅读更多
使用Popen创建进程 在windows操作系统下,设置shell=True的时候  调用Popen.kill()不会杀死子进程  当shell设置为False时候就可以 怎么回事?


Windows下带UI的Python程序,如果其中使用了subprocess.Popen,那么我们可以设置shell=True来不显示command窗口,但是这样的话,使用terminate()就无法立即终止管道;如果想terminate()能达到立即终止的效果,又必须把shell=False,看起来是二选一。没关系,可以用creationflags来达到两全:

import subprocess

pipe = subprocess.Popen('ping 127.0.0.1', stdout=subprocess.PIPE, creationflags=0x08)

由于shell=False是默认值,所以未设置。这样一来,执行时即不显示command窗口,又可以用terminate()来立即终止管道
分享到:
评论

相关推荐

    Linux系统中popen函数的缺陷与改造方案.pdf

    "Linux系统中popen函数的缺陷与改造方案" Linux 操作系统中,popen 函数是一个常用的函数,用于执行 shell 命令并得到执行结果。然而,Linux 库提供的 popen 函数却有两个致命的缺陷。本文将分析这两个缺陷产生的...

    python中的subprocess.Popen()使用详解

    Python中的subprocess模块提供了一种在Python程序中启动新进程的能力,使得程序能够执行外部命令、启动其他程序。特别是subprocess.Popen()类,它是一个非常强大且灵活的创建新进程的接口。自Python 2.4版本以来,...

    Python 从subprocess运行的子进程中实时获取输出的例子

    本文将深入探讨如何在Python中使用`subprocess`模块从子进程中实时获取输出。 首先,`subprocess.Popen`是`subprocess`模块中的主要类,用于启动新的进程。在`main.py`中,我们创建了一个`Popen`实例来执行`...

    python控制台输入密码

    python控制台输入密码,控制台输入密码变成`*`,支持删除等操作.

    对Python subprocess.Popen子进程管道阻塞详解

    subprocess模块是Python用来替代旧的os.system, popen2和commands模块的,它允许你从Python程序中启动新的进程,连接到它们的输入/输出/错误管道,并获取它们的返回码。今天我们要详细解析的是subprocess模块中的...

    python 打印信息重定向 GUI界面 ,PyQt5实时显示调用外部程序的实时输出显示,subprocess.Popen stdout输出重定向,备注详细!

    python 打印信息重定向 GUI界面 ,PyQt5实时显示调用外部程序的实时输出显示,subprocess.Popen stdout输出重定向,备注详细!

    python Popen 获取输出,等待运行完成示例

    标题中的“Python Popen 获取输出,等待运行完成示例”涉及Python中的subprocess模块,以及该模块中Popen类的使用方法。Popen类是subprocess模块提供的用于创建子进程的类,它允许用户执行外部命令,并与这些外部命令...

    popen使用方法示例

    在这个示例中,`run_command`函数接受一个命令字符串,然后使用`popen`执行该命令,并打印出其标准输出。`main`函数调用`run_command`执行`ls -l`,列出当前目录的文件和目录。 `makefile`用于编译C程序,通常包括...

    Python3的os.popen()与subprocess使用(关于数据处理)

    但是使用python调用的时候没法直接得到这个结果,所以想要获取这个数据  #导入os这个模块 In [8]: import os #使用popen接受docker ps -q这个命令的返回值 In [9]: a = os.popen('docker ps -q')

    Linux下使用python调用top命令获得CPU利用率

    本文定位:想通过python调用top命令获取cpu使用率但暂时没有思路的情况。 如果单纯为了获得cpu的利用率,通过top命令重定向可以轻松实现,命令如下: 复制代码 代码如下: top -bi > cpuHistory.log 或 复制代码 代码...

    解决python3中os.popen()出错的问题

    那么我们在python3中使用os.popen()出错该怎么办?本篇文章小编同样以错误的操作方法为大家进行讲解,一起找寻不对的地方吧。 在当前 desktop 目录下,有如下内容: desktop $ls client.py server.py 中文测试 ...

    在python 中实现运行多条shell命令

    本文介绍了在Python中执行多条Shell命令的几种常见方法,包括使用`subprocess`模块、`os`模块以及编写Shell脚本并调用。每种方法都有其适用场景和局限性,开发者应根据具体需求选择最合适的方法。同时,在处理外部...

    如何在python中写hive脚本

    总结来说,要在Python中执行Hive脚本,主要依赖`os`模块的`popen`或`system`函数,配合`pd.read_csv`解析查询结果为DataFrame。同时,注意资源管理,如显存占用,特别是在使用深度学习框架时。通过这种方式,可以将...

    Linux下使用popen()执行shell命令.docx

    在上面的示例代码中,我们使用 popen() 函数执行一个 shell 命令,并将其输出结果存储在一个字符串向量中。使用 pclose() 函数关闭管道,并返回输出结果的行数。 在使用 popen() 函数时,需要注意错误处理,例如...

    如何解决fgets读取popen内容阻塞的问题

    在实际应用中,fgets 读取 popen 内容阻塞的问题可以通过使用 select 函数来解决。select 函数可以用来检测文件描述符是否可读或可写,从而避免 fgets 函数的阻塞。 例如,在获取 4G 模块的信号强度信息时,可以...

    popen使用介绍(en)

    育龙网核心提示: use popen ====================================================================from: NAMEpopen - initiate pipe streams t use popen ==================================================...

Global site tag (gtag.js) - Google Analytics