我有一个包含Python文件名的文本文件。
a.py
b.py
...
z.py
我的远程计算机当前可能正在运行这些文件之一,如果是,我想终止该作业。有没有一种方法可以自动执行此操作,而无需手动检查htop
并查看正在运行的当前Python文件,检查它是否是文本文件的一部分以及随后的kill pid
? >
答案 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