def get_default_session():
"""
Locates the first ancestor process which is a shell. Returns
its pid, or None if not found.
"""
if psutil.POSIX:
def predicate(name):
return name.endswith("sh")
elif psutil.WINDOWS:
def predicate(name):
return name in ("cmd.exe", "powershell.exe")
else:
return None
proc = psutil.Process()
while proc.parent().pid:
proc = proc.parent()
if predicate(proc.name()):
return proc.pid
return None
评论列表
文章目录