python - WMIC + Python 子进程/(Windows 10)

标签 python windows subprocess wmic

我正在尝试使用 subprocess.Popen 终止 .exe。

解决方案为:

  1. taskkill/im (.exe)/t/f
  2. taskkill/pid (.exe)/t/f

无法正常工作,因为响应被拒绝访问。事实上,当我从子进程运行 cmd 时,我无法获得管理员权限。

我找到了一个从 cmd 终止此进程的命令(无需以管理员身份运行),它是:

  • wmic 进程,其中 name=".exe"删除
  • ...但是当我使用子进程运行它时,它给了我“无效查询”。 我正在运行的命令是:

    4)subprocess.Popen(['wmic', 'process', 'where', 'name="--------.exe"', 'delete'], shell=True, stdout=subprocess.PIPE)

    我想我写错了。有什么建议吗?

    最佳答案

    解决方案是在比较运算符周围放置空格,并将整个条件(name = xxxname like xxx)作为单个参数发送,因为 wmic 不喜欢将其分成几部分,并且如果引号位于单词的“中间”,则内部引号会变得困惑:

    subprocess.Popen(['wmic', 'process', 'where', 'name like "----.exe"', 'delete'], shell=True)
    

    关于python - WMIC + Python 子进程/(Windows 10),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63098513/

    相关文章:

    python - 在Python子进程中,使用Popen()和check_output()有什么区别?

    process - 将多个 stdout/stderr 合并为一个 stdout

    javascript - 使用 Python 控制 SSL 网站

    php - Windows 上的 postgresql + nginx 运行时错误

    python - 使用Python子进程处理带括号的文件路径

    c++ - SDL2 渲染纹理明显滞后于鼠标

    python - "import wx"在Windows XP上安装wxPython失败

    python - 如何删除 .txt 文件中的重复项

    python - 与路由器的连接打不开

    Python:使用gevent,是否需要前端服务器/反向代理?