python 监控一个程序是否启动, 启动就关掉这个程序

要监控一个程序是否启动,并在启动后关闭该程序,可以使用Python的subprocess模块来实现。

下面是一个示例代码:

import subprocess
import time
​
def check_and_close_program(program_name):
  process = subprocess.Popen(["pgrep", program_name], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  stdout, stderr = process.communicate()
  if process.returncode == 0:
      print(f"{program_name} is running, closing it...")
      subprocess.call(["pkill", program_name])
  else:
      print(f"{program_name} is not running")
​
# 要监控的程序名称
program_name = "example_program"while True:
  check_and_close_program(program_name)
  time.sleep(1) # 每隔1秒检查一次

 

在上面的代码中,首先定义了一个check_and_close_program函数,该函数通过调用pgrep命令来检查程序是否正在运行。如果程序正在运行,就调用pkill命令来关闭该程序。

然后,在主循环中,不断调用check_and_close_program函数来监控程序是否启动,并在启动后关闭该程序。通过使用time.sleep(1)来控制每次检查的间隔时间。

你需要将代码中的example_program替换为你要监控的程序的名称。

 

可以使用Python的psutil模块来实现。

下面是一个示例代码:

import psutil
import time

def kill_process(process_name):
    proc_dict = {}
    for proc in psutil.process_iter():
        proc_dict[proc.name()] = proc

    if proc_dict.get(process_name):
        proc_dict.get(process_name).kill()
        print(f"进程 {process_name} 已被强制关闭")
    else:
        print(f"进程 {process_name} 未启动")


# 调用函数关闭指定进程
process_name = "shang.exe"  # 替换为你要关闭的进程的名称

while True:
    kill_process(process_name)
    time.sleep(1)  # 每隔1秒检查一次

 

 
posted @ 2023-08-11 18:06  你的小可爱吖  阅读(260)  评论(0编辑  收藏  举报