weixin_50802888 2021-07-06 08:07 采纳率: 63.3%
浏览 632
已结题

Python如何执行CMD指令,运行bat文件,并且获取cmd窗口的pid

目前代码如下,想过用.pid获取,或者用psutil模块的方法获取,但是都获取不到正确的pid,请问有什么比较好的办法吗?

    path = r"E:\kettle71\data-integration\oracle_to_mssql.bat"
    cmd = f"start cmd /b /k {path}"
    res = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    print(res.pid)
  • 写回答

2条回答 默认 最新

  • ol_m_lo 2021-07-06 15:58
    关注

    res.pid获取的当前进程开的子进程的进程编号,而你这个是子进程中使用shell执行开新窗口的指令,相当于孙进程,如果你要获取的是shell执行命令的进程号,我想这个是非常困难的,通过名称获取或许是一个思路,但是没有经过测试,如果楼主找到方法,非常希望共享下

    评论

报告相同问题?

悬赏问题

  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求
  • ¥20 antv g6 折线边如何变为钝角
  • ¥30 如何在Matlab或Python中 设置饼图的高度
  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao