Python批量打开Windows CMD并管理tcping进程

不晚
不晚
发布时间:2026-10-11| 5人浏览过
原创

本文介绍如何使用Python的subprocess模块批量打开Windows CMD窗口并运行tcping命令。通过设置creationflags参数实现多窗口并发,并利用taskkill或psutil模块按进程名批量终止tcping进程,解决手动关闭困难的问题。

准备工作

在开始之前,需要确保系统中已安装 tcping 工具。为了方便调用,建议将 tcping.exe 文件复制到 C:\Windows\System32 目录下,这样在 CMD 中可以直接使用 tcping 命令而无需指定完整路径。

使用Python批量打开CMD窗口

Python 提供了 os 和 subprocess 模块来执行系统命令。虽然 os.system() 可以执行命令,但 subprocess 模块提供了更强大的进程控制功能,特别适合需要并发打开多个窗口的场景。

单窗口执行

首先,我们演示如何在一个新窗口中运行 tcping。通过设置 creationflags=subprocess.CREATE_NEW_CONSOLE 参数,可以强制在 Windows 上创建一个新的 CMD 窗口。

import subprocess

# 方式一:直接调用 tcping.exe 在新窗口打开
sub = subprocess.Popen('tcping -t 192.168.88.2', creationflags=subprocess.CREATE_NEW_CONSOLE)

# 方式二:在 cmd 中调用 tcping.exe 并在新窗口打开
sub = subprocess.Popen('cmd.exe /C tcping -t 192.168.88.2', creationflags=subprocess.CREATE_NEW_CONSOLE)

注意:tcping -t 参数表示持续ping,直到手动关闭。如果不加 -t,命令执行一次后窗口会立即关闭。

批量打开多个CMD窗口

为了实现批量打开多个 CMD 窗口,可以使用 for 循环结合 subprocess.Popen。以下代码示例批量打开了 30 个窗口:

import subprocess

for i in range(30):
    sub = subprocess.Popen('tcping -t 192.168.88.2', creationflags=subprocess.CREATE_NEW_CONSOLE)

执行上述代码后,系统会同时弹出 30 个 CMD 窗口,每个窗口都在持续运行 tcping 命令。由于这些进程是异步启动的,它们会同时运行,直到手动关闭或达到超时时间。

批量终止tcping进程

由于 tcping -t 会持续运行,手动关闭每个窗口非常耗时。因此,我们需要一种方法来批量终止这些进程。这里提供两种方法:使用 taskkill 命令和使用 psutil 库。

方法一:使用taskkill命令

taskkill 是 Windows 系统自带的命令行工具,可以根据进程名或 PID 终止进程。通过 /IM 参数指定进程镜像名称,并使用 /F 参数强制终止。

import os

# 批量终止所有 tcping.exe 进程
os.system('taskkill /IM tcping.exe /F')

这种方法简单直接,适用于大多数场景。但需要注意的是,如果同时运行了其他名为 tcping.exe 的进程,它们也会被终止。

方法二:使用psutil库

psutil 是一个跨平台的库,可以提供更精细的进程控制。通过遍历所有进程并检查进程名,可以精确地终止目标进程。

import psutil

# 查看所有进程ID
print(psutil.pids())

# 获取所有进程名
pid_name = [psutil.Process(i).name() for i in psutil.pids()]
print(pid_name)

# 批量终止 tcping.exe 进程
for pid in psutil.pids():
    try:
        proc = psutil.Process(pid)
        if proc.name() == 'tcping.exe':
            proc.kill()
    except psutil.NoSuchProcess:
        pass

这种方法更加灵活,可以在终止前进行额外的检查或日志记录。但需要注意的是,进程ID可能会动态变化,因此在遍历过程中需要处理可能的 NoSuchProcess 异常。

注意事项

  • 批量打开窗口可能会占用大量系统资源,请确保计算机有足够的内存和CPU资源。
  • 使用 taskkill 或 psutil 终止进程时,请确保没有重要的 tcping.exe 进程正在运行,以免误杀。
  • 在生产环境中使用此类脚本时,请谨慎操作,避免对系统造成不可逆的影响。

总结

本文介绍了如何使用Python的subprocess模块批量打开Windows CMD窗口并运行tcping命令。通过设置creationflags参数实现多窗口并发,并利用taskkill或psutil模块按进程名批量终止tcping进程,解决手动关闭困难的问题。希望这些方法能帮助你在网络测试和监控场景中提高效率。

以上就是Python批量打开Windows CMD并管理tcping进程的详细内容,更多关于Python,subprocess,tcping,批量打开CMD,进程管理的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。