读取文本文件(包含Python文件名列表),如果Python文件出现在文本文件中,则终止Python作业

时间:2018-10-03 05:30:51

标签: python

我有一个包含Python文件名的文本文件。

a.py
b.py
...
z.py

我的远程计算机当前可能正在运行这些文件之一,如果是,我想终止该作业。有没有一种方法可以自动执行此操作,而无需手动检查htop并查看正在运行的当前Python文件,检查它是否是文本文件的一部分以及随后的kill pid? >

2 个答案:

答案 0 :(得分:2)

您可以尝试将文本文件的所有内容放在列表中,然后遍历该列表以删除该特定文件。

import os

file_list = [x.strip("\n") for x in open("file_containing_pys.txt","r")]

for file in file_list:
    os.system("sudo kill $(ps aux | grep 'python %s.py' | awk '{ print $2 }')"%file)

/ ogs

答案 1 :(得分:1)

有一个名为psutil的实用程序。检出here

然后,如果您要查找的是,请尝试以下操作以列出所有正在运行的python进程。

import psutil

for p in psutil.get_process_list():
    if 'python' in str(p.name).lower():
        print p.cmdline