【问题标题】:How to kill a process using process name in python script如何在python脚本中使用进程名杀死一个进程
【发布时间】:2021-01-22 13:34:46
【问题描述】:

我的要求是杀死一个进程。我有进程名称。 以下是我的代码:

def kill_process(name):
  os.system(f"TASKKILL /F /IM {name}")

它适用于 Windows,但不适用于 Mac。我的要求是它应该适用于两个操作系统。 有没有办法使上述代码独立于操作系统,或者我如何为 Mac 编写代码?

感谢任何帮助。 谢谢。

问候, 拉什凯什·卡达姆。

【问题讨论】:

    标签: python python-3.x kill-process


    【解决方案1】:

    psutil 支持多种平台(包括 Windows 和 Mac)。

    以下解决方案应符合要求:

    import psutil
    
    def kill_process(name):
        for proc in psutil.process_iter():
            if proc.name() == name:
                proc.kill()
    

    【讨论】:

      【解决方案2】:

      你可以试试这个

      import os, signal
      
      def kill_process(name):
          for line in os.popen("ps ax | grep " + name + " | grep -v grep"):
              fields = line.split()
              pid = fields[0]
              os.kill(int(pid), signal.SIGKILL)
      

      【讨论】:

      • pgreppkill 是比解析 ps ax 更专业的命令,并且当这是 Linux/macOS 时,OP 特别要求一个与平台无关的解决方案。
      猜你喜欢
      • 2016-03-23
      • 2018-08-28
      • 2016-07-08
      • 1970-01-01
      • 2013-07-24
      • 1970-01-01
      • 2020-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多