已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
2天前关闭。
这篇文章是编辑并提交审查2天前.
Improve this question
我正在为特定的东西构建一个定制的fetch tool。我想用纯Python制作这个工具。
如何检测哪个shell调用了脚本?这是一个难题,因为我正在调用脚本中的脚本来检测shell。例如,os.getenv("SHELL")
之类的Python代码无论如何都会导致/bin/bash
。
我还尝试了这些命令行选项:
getent passwd USERID
-->始终打印Bash
echo $0
-->打印/bin/sh
readlink /proc/$$/exe
-->始终打印Readlink
1条答案
按热度按时间arknldoa1#
在Linux上,要检测Python解释器的父进程,可以用途:
如果你的Python解释器是直接由shell调用的(这是不保证的!)通过常规的fork/exec过程(不是直接的
exec
就地替换--同样,不能保证!),你会看到它返回那里。