代码之家  ›  专栏  ›  技术社区  ›  JoeJoe

Python 2.7:终止最后一个后台进程

  •  0
  • JoeJoe  · 技术社区  · 6 年前

    我正在使用 subprocess.call(ping ... &, shell=True) 运行后台进程,5秒钟后,我想终止此进程。我正在尝试Bash的等效版本 kill $! 但它不起作用。

    谢谢你的帮助。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Vikas Periyadath Ramana Sriwidya    6 年前

    你试过这样吗,试一下 subprocess.Popen :

    import os
    import signal
    import time
    import subprocess
    
    process = subprocess.Popen("ssh root@192.168.180.11 'echo 'rootpass' | sudo -Sv && bash -s' < ../attaques/Ping_flood.sh &", shell=True)
    time.sleep(5)
    os.killpg(process.pid, signal.SIGTERM)