DOA
#!/bin/sh
myexe
myexe
if sys.stdout.isatty():
print 'from a script'
else:
print 'not from a script'
OUTPUT(如果我从终端执行doa):
not from a script
OUTPUT(如果我从终端执行myexe):
not from a script
我希望它说' from a script
'如果从doa执行
问题:myexe是否有可能知道它是从bash脚本执行的?
答案 0 :(得分:3)
您可以使用psutil
来询问ID为父进程ID的进程名称:
import psutil
import os
ppid = os.getppid() # Get parent process id
psutil.Process(ppid).name() == "bash"
您可以使用psutil
命令安装pip
:
pip install psutil