解决方法
帮助跟踪Perl脚本启动方式的工具:
getppid返回父进程ID.然后,您可以使用ps或/ proc /< pid>获取有关调用进程的更多信息.
$^X
:perl解释器的完整路径,它可以提供有关如何从shell启动Perl的线索
$0
,__ FILE__:从命令行调用的脚本的名称,以及当前文件名.如果它们一致,则当前文件包含从命令行调用的脚本.
@ARGV
:传递给脚本的命令行参数.使用$^ X,$0和@ARGV,您确切地知道如何从shell启动Perl解释器.
caller
:堆栈跟踪信息.如果调用者在脚本开头返回undef,那么您位于堆栈的顶部框架,并且您的脚本是从shell调用的.否则,调用者返回调用脚本的包,文件和行(带有do或require).
$^T
:当前Perl脚本启动的时间(自“epoch”以来的秒数),因此您知道当前Perl解释器何时从shell启动.使用标量localtime($^ T)以更友好的格式查看此值.