我正在创建一个命令,该命令将采用一个进程的部分或整个名称匹配并终止其最低的 pid - 因此其余进程从中产生。我的代码返回一个 min(list_of_process_ids) 为 0,其中没有 min 为 0。请告诉我为什么会发生这种情况。谢谢你。
#!/usr/bin/env python
"""Kill proceses by partial name matching"""
import os, sys
def usage():
return ("pskill.py process_name")
def pids(proc):
""" Find the processes"""
procs = []
procs = os.system("ps -ef|grep -i " + proc + "|grep -v grep|grep -v pfind|awk '{print $2}'")
procs = [int(x) for x in str(procs)]
return procs
def kill(procs):
ppid = min(procs)
os.system("kill " + str(ppid))
return ("Processes Killed...")
def main():
if len(sys.argv) != 2:
print (usage())
else:
proc = sys.argv[1]
pids(proc)
kill(pids(proc))
main()
相关分类