zoukankan      html  css  js  c++  java
  • subprocess模块windows系统命令和linux系统命令

    windows系统
    查看所有进程 tasklist

    查找指定进程 tasklist | findstr pycharm

    程序名称 PID(大写) 数量 大小
    python exe 2640 console 1, 11052k

    查看命令帮助信息 taskkill/?

    杀死进程taskkill /PID 2640 命令后空格,PID大写
    强制杀死进程taskkill /F /PID 2640 (PID随机分配,命令(空格)/F(空格)/PID(空格)2640

    linux系统
    查看进程 ps aux
    查看指定进程 ps aux | grep python
    kill -9 PID

    要求:在python中接收用户输入的命令,在程序中执行系统命令

    import os
    while True:
    cmd = input(">>>:").strip()
    if not cmd:continue
    res = os.system(cmd)
    res = 0执行成功
    res = 1执行失败
    os.system自动将结果打印到屏幕

    os.system将结果打印到屏幕,无法管控

    import subprocess
    subprocess.Popen("dir") 报错
    subprocess.Popen("dir",shell = True)将结果打印到屏幕上
    res = subprocess.Popen("dir",shell = True,stdout = subprocess.PIPE stderr = subprocess.PIPE)
    stdout正确信息管道 stderr错误信息管道
    res1 = res.stdout.read()正确信息,读出为二进制
    res2 = res.stderr.read()错误信息,读出为二进制
    因为是系统命令,所以二进制类型跟计算机系统相关,windows为gbk二进制,其他系统为utf8二进制
    print("1",res1.decode("gbk"))
    res3 = res.stdout.read()
    print("2",res3)>>>输出2,管道信息输出1次就没了

  • 相关阅读:
    Tomcat配置JNDI
    (转)通过反编译深入理解Java String及intern
    (转)Java8内存模型-永久代(PermGen)和元空间(Metaspace)
    排序算法
    并发编程
    MySQL
    Go语言
    Go语言
    Go语言
    Go语言
  • 原文地址:https://www.cnblogs.com/robert-zhou/p/10040424.html
Copyright © 2011-2022 走看看