首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Windows上的Python :如何使用"shell = True"参数终止subprocess.Popen?

在Windows上的Python中,要使用"shell = True"参数终止subprocess.Popen,可以通过以下方法实现:

  1. 导入所需库:import subprocess import time
  2. 使用subprocess.Popen启动一个新进程,并设置shell=True参数:process = subprocess.Popen("start cmd /k python your_script.py", shell=True)
  3. 等待一段时间(例如:5秒),然后终止该进程:time.sleep(5) process.terminate()

在这个示例中,"your_script.py"是你要运行的Python脚本。"start cmd /k"命令用于在新的命令提示符窗口中运行该脚本。

注意:使用"shell = True"可能会导致安全问题,因为它将在新shell中执行命令,可能会被注入恶意代码。因此,在使用"shell = True"时,请确保命令字符串是可信的,或者考虑使用其他方法(如传递参数列表)来避免这种风险。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何Python终止 Windows 运行进程?

当深入研究Windows操作系统Python开发领域时,无疑会出现需要终止正在运行进程情况。这种终止背后动机可能涵盖多种情况,包括无响应、过度资源消耗或仅仅是停止脚本执行必要性。...在这篇综合性文章中,我们将探讨各种方法来完成使用 Python 终止 Windows 运行进程任务。...方法1:使用多功能“os”模块 “os”模块是Python与操作系统交互基石,拥有丰富功能。其中,“system()”函数提供了一个执行操作系统命令网关。...值得注意是,Windows利用“taskkill”命令来终止活动进程。...shell=True' 参数Windows 命令外壳中执行命令时变得不可或缺。 结论 在这次深入探索中,我们阐明了使用 Python 终止 Windows 运行进程三种不同方法。

43530

python笔记65 - Python3 subprocess执行命令行获取返回结果

常用参数: args: shell命令,可以是字符串或者序列类型(如: str, list,元组) bufsize: 缓冲区大小。 当创建标准流管道对象时使用,默认-1。...0: 不使用缓冲区 1: 表示行缓冲,仅当universal_newlines=True时可用,也就是文本模式 正数: 表示缓冲区大小 负数: 表示使用系统默认缓冲区大小。...shell: 如果该参数True,将通过操作系统 shell 执行指定命令。...系统编码是gb2312 windows解码 知道windows系统编码后,设置对应编码,就可以正常解码了 import subprocess p = subprocess.Popen('java',...这段包含了中文") 使用subprocess.Popen执行,需设置encoding=’utf-8’ import subprocess p = subprocess.Popen(['python',

8.7K20
  • 如何优雅WindowsShell脚本

    前言 我喜欢Shell脚本,格式方便阅读,方便调试。 在WindowsBat脚本,相对没那么友好,至少对我来说是这样,还有一个致命原因就是不方便调试……这点比较致命。...那有没有一种方法,可以在WindowsShell脚本呢?答案是肯定。...server 服务器中; 运行 Mobaxterm,并开启一个会话-Shell,类型选择 Bash; 在新开会话中编写 shell 脚本 ---> ftp_check.sh 代码如下仅供参考;...; cron 任务编写有点不友好,需要克服下; 由于日志文件是在shell下完成,所以当你直接双击打开会没有换行,所以需要进行文件转换(这是由于Linux和Windows换行符不一样导致) 万能 Mobaxterm...,只要你敢想,它就能去完成,比如说运行 Python(需要单独下载 Python插件)

    1.9K60

    如何Windows使用Python进行开发

    所以近日,微软上线了一套Python教程《Develp with Python on Windows》,文档内容包括设置Python开发环境、在Windows与WSL子系统中安装相应开发工具,以及如何集成...如果你处于教育环境或组织中限制权限或管理访问权限部分, 则此项特别有用。 如果在 Windows 使用 Python 进行web 开发, 则建议为开发环境设置其他设置。...建议通过适用于 Linux Windows 子系统安装和使用 Python, 而不是直接在 Windows 安装。...有关帮助, 请参阅:开始在 Windows 使用 Python 进行 web 开发。...如果你有兴趣自动执行操作系统常见任务, 请参阅以下指南:开始在 Windows 使用 Python 进行脚本编写和自动化。

    3.1K30

    python 标准类库-并行执行之subprocess-子进程管理

    类似在Unix使用os.execvp(),Windows使用CreateProcess()函数。 args 参数值为字符串、序列。默认,如果args是个序列,程序会执行args中第一项。...(args) 在Windows,如果args为序列,那么将会按照以下规则进行转换为一个字符串,因为后台函数 CreateProcess() 操作依赖字符串。...如果sell为True,则推荐传递字符串参数给args Unix操作系统shell=Trueshell默认为/bin/sh。如果args为字符串,则字符串指明了需要通过shell执行命令。...Windows如果shell=True,COMSPCE环境变量指定了默认shell。仅在command 命令需通过shell执行,比如dir,copy命令时,使用shell=True。...注意:如果设置了shell=True,则该属性值为衍生shell进程id Popen.returncode 子进程返回代码,如果值为None表明进程还没终止

    4.1K20

    正确使用python调用shell姿势

    python天生优势,用它来开发一些devops自动化作业是非常方便,当然在linux,一般我们用shell就能写一些简单自动化脚本,但如果自动化作业复杂的话,使用shell脚本就很难搞定了,...下面我们看如何使用pythonshell交互: 方式一: 使用os.system方法 import osos.system("ls") 保存到一个python文件xxx.py里面执行 python xxx.py...shell:如果该参数True,将通过操作系统 shell 执行指定命令。...,这个函数会等整个shell执行结束后,输出结果: out, err, code= normal_run_command("sh xs.sh")print out 至此,我们已经介绍完了如何使用python...和shell交互方式,通过这种方式我们可以很轻松开发一个自动化作业,比如系统参数初始化,使用yum安装各种软件,各种业务项目的部署,启动,停止等等等等,有很多场景都可以发挥。

    7.5K20

    【实测】windows下进程创建和终止-python3

    因为最近在写测试平台需要在windows运行, 所以就来探讨了一下windowsdos命令。 友情提示(本公众号实测系列请保存成书签,都是原创宝贵踩坑经验。...首先,在macOs或者linux当中,进程创建和终止python3来实现很简单: mac/linux : p = subprocess.Popen('python3 test.py‘ , shell...然后再来看win创建方法。 win: p = subprocess.Popen('python3 test.py', shell=True) 怎么样,是不是一模一样。是不是都很简单?...一般会使用进程pid来杀死该进程。 而获取pid方式,mac/linux 和 win就完全不同了。 mac/linux: p = p.pid 很简单,直接拿ppid就是了。...(关键字) 也就是一开始新建进程时候就应该写成: p = subprocess.Popen('python3 test.py "关键字"', shell=True) 然后再通过正则和列表提取出真正pid

    73720

    Python 自动化指南(繁琐工作自动化)第二版:十七、计时、安排任务和启动程序

    如果你想从你 Python 脚本中启动一个外部程序,将程序文件名传递给subprocess.Popen()。(在 Windows ,右击应用开始菜单项,选择属性查看应用文件名。...例如,如果您使用Windows,创建一个名为C:\Users\Al\hello.txt简单文本文件,然后在交互式 Shell 中输入以下内容: >>> subprocess.Popen(['C:...我们还传递了shell=True关键字参数,它只在 Windows 需要。操作系统知道所有的文件关联,并且可以计算出它应该启动,比如说,Notepad.exe来处理hello.txt文件。...在 Windows ,确保将'start'包含在传递给Popen()列表中,并传递关键字参数shell=True。...操作系统调度器(Windows 调度任务、MacOS launchd 和 Linux Cron)可以每天运行一次 Python 程序。

    2.7K20

    Python标准库06 子进程 (subprocess包)

    使用subprocess包中函数创建子进程时候,要注意: 1) 在创建子进程之后,父进程是否暂停,并等待子进程运行。 2) 函数返回什么 3) 当returncode不为0时,父进程如何处理。...", shell=True) 我们使用shell=True这个参数。这个时候,我们使用一整个字符串,而不是一个表来运行子进程。...Python将先运行一个shell,再用这个shell来解释这整个字符串。 shell命令中有一些是shell内建命令,这些命令必须通过shell运行,$cd。...shell=True允许我们运行这样一些命令。 Popen() 实际,我们上面的三个函数都是基于Popen()封装(wrapper)。这些封装目的在于让我们容易使用子进程。...通过使用subprocess包,我们可以运行外部程序。这极大拓展了Python功能。

    2.8K60

    subprocess:Python中创建子进程

    这对于运行生产或消费文本程序尤其有好处,因为这个API支持通过新进行标准输入和输出通道来回传数据。 本篇,将详细介绍Python创建附加进行库:subprocess。...系统常用whoami命令,返回当前用户名称,输出如下: 这里,我们使用了subprocess.run调用了子进程运行windows命令。...该函数还有许多参数,比如shell,默认值为False表示直接运行命令,如果主动赋值为True则会创建一个中间shell进程,由这个进程运行命令。...比如run(),call(),check_call()和check_output()函数都是Popen类包装器。直接使用Popen可以更好控制如何运行命令以及如何处理输入和输出流。...在我们学习Python时,一般使用input()进行用户输入数据。

    49870

    如何Windows使用Python,看看微软官方教程

    随着Python持续火热状态,微软开始重视PythonWindows系统运行,于是它出品了一个官方教程。这个教程包含了入门,web开发,自动化和脚本,数据库,常见问题,资源。...这个教程总目录为: ? 我们来看分别查看这六个子目录。 ? 初学者入门 ? ? 这个教程主要是讲Python和VS Code安装,以及基础Python编程知识。 ? Web开发 ? ?...这个教程主要介绍网页开发基础知识,包括Flask以及Django基础知识。 ? 脚本和自动化 ? ? 这个教程主要讲如何建立脚本实现自动化程序。 ? 数据库入门 ? ?...这里有很多资源链接,包括线上Python课程以及Web开发资源。 ? 点评 ? 微软这个教程个人觉得比较全面。有一点就是,它所谓"针对Windwos用户"似乎还是不太到位。...比如对于数据库中MongoDB安装,教程还是Linux系统版本。总体而言,作为入门教程,是非常值得一看。 ·END·

    83320

    并行处理(二)、subprocess模块

    常用方法: subprocess.call(): 执行命令,并返回执行状态,其中shell参数为False时,命令需要通过列表方式传入,当shellTrue时,可直接传入命令 示例如下: >>> a...需要说明是,该方法在python3.x中才有。 subprocess.Popen(): 在一些复杂场景中,我们需要将一个进程执行输出作为另一个进程输入。...该方法有以下参数: args:shell命令,可以是字符串,或者序列类型,如list,tuple。...如果env=None,则默认从父进程继承环境变量 universal_newlines:不同系统换行符不同,当该参数设定为true时,则表示使用\n作为换行符 示例1,在/root下创建一个suprocesstest...目录: >>> a = subprocess.Popen('mkdir subprocesstest',shell=True,cwd='/root') 示例2,使用python执行几个命令: import

    33910

    PythonShell 和 三个标准文件

    场景 使用 Python 执行 Shell 命令(或者脚本),有两种执行场景: 等待,直到命令执行完毕,一次性获取返回结果,做一些你想做事情; 命令执行同时,实时获取命令持续输出,做一些你想做事情...\ncontinuegetstdout.py\n', '') 两个点比较有价值: shell 这个参数很多人不理解,其实就是 False 时候 Python 帮你执行命令, True 时候相当于直接在终端执行命令...False 时候,我们需要把命令按空格使用逗号分隔开来(即 list 数据结构)传给 cmd 参数(目的是让 Python 清楚这条命令所有细节),代码中例子就是使用这种;而 True 时候只需要把命令一股脑...(string 数据结构)传给 cmd 参数,总结即 False:cmd=['ls', '-a'],True:cmd='ls -a' 纠结吗?...如果我们执行 ping zhihu.com 等不会自己终止命令,这种方式会一直卡死,因为进程一直没有结束,文件也一直不会结尾。 那么类似这种持续输出结果命令如何执行呢?

    1.4K60

    Python调用外部系统命令

    shell Linux:参数值为False时,Linux通过调用os.execvp执行对应程序。为Trule时,Linux直接调用系统shell来执行程序。...Windowsshell参数表示是否使用bat作为执行环境。只有执行windowsdir、copy等命令时才需要设置为True。其他程序没有区别。executable 用于指定可执行程序。...一般情况下我们通过args参数来设置所要运行程序。如果将参数shell设为 True,executable将指定程序使用shell。...如:windows下用’/r/n’表示换,而Linux下用 ‘/n’。如果将此参数设置为TruePython统一把这些换行符当作’/n’来处理。...对于复杂命令考虑使用subprocess.Popen()完成,如果仅是简单命令执行,可以使用os.system()完成,如调用windows暂停程序命令os.system('pause')。

    25720

    【愚公系列】2021年12月 Python教学课程 26-系统编程

    执行命令 我们几乎可以在任何操作系统通过命令行指令与操作系统进行交互。那么我们如何通过 Python 来完成这些命令行指令执行呢?...这时候,你最好进入 cmd 环境使用 python命令进入交互式界面才可以看到屏幕信息。 由于使用该函数经常会莫名其妙地出现错误,但是直接执行命令并没有问题,所以一般建议不要使用。...shell:如果该参数True,将通过操作系统 shell 执行指定命令。 run()方法返回值,表示一个进程结束了。...shell 参数默认为 False,设置为 True 时候表示使用操作系统 shell 执行命令。下面我们来看一下两者组合结果。...>>> ret = subprocess.Popen("dir", shell=True) >>> type(ret) >>> ret <subprocess.Popen

    87620

    如何使用高大方法调参数

    层与层之间应该如何连接? 应该使用什么样 Activation? 应该使用什么样优化算法? 优化算法初始步长是多少? 初始步长在训练过程中应该如何下降? 应该使用什么样初始化?...一方面,有些特征确实比较重要;另一方面,其他特征贡献却也远远大于 0,不能够简单忽略。 如何解决这个问题呢?我们算法巧妙之处在于,使用了多层拉锁!...基于这些特征,我们知道一部分相关参数,以及它们应该如何赋值才能够得到这些特征线性叠加最小值。于是,我们就可以固定这些参数。 这些参数固定之后,其实个数往往不多,一般也就 5、6 个。...我们跑了 3 层拉锁算法,使用了度数为 3 特征向量,现在一个小 8 层网络跑,得到了重要参数们之后,将这些信息用到大 56 层网络微调,得到了很好结果。如下图: ?...我们把 python 版本代码放在了 github (https://github.com/callowbird/Harmonica),有兴趣同学可以试试看。

    4.3K90

    python之系统命令

    subprocess.check_output("exit 1", shell=True) subprocess.Popen(...)...用于执行复杂系统命令 参数: args:shell命令,可以是字符串或者序列类型(如:list,元组) bufsize:指定缓冲。...(callable object),它将在子进程运行之前被调用 close_sfs:在windows平台下,如果close_fds被设置为True,则新创建子进程将不会继承父进程输入、输出、错误管道...universal_newlines:不同系统换行符不同,True -> 同意使用 \n startupinfo与createionflags只在windows下有效 将被传递给底层CreateProcess...subprocess.Popen("mkdir t2", shell=True) 终端输入命令分为两种: 输入即可得到输出,如:ifconfig 输入进行某环境,依赖再输入,如:python import

    1.1K40
    领券