确定是否从Python中的脚本调用程序

时间:2015-03-24 17:57:42

标签: python bash shell sh

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脚本执行的?

1 个答案:

答案 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