perl - 我怎么知道 perl 脚本是如何启动的?

标签 perl

perl 脚本知道谁调用它和/或如何调用它的任何方式?

无论是另一个脚本,还是一个可执行文件。直接从命令行或 cron 调度程序。

最佳答案

帮助追踪 Perl 脚本如何启动的工具:
getppid返回父进程 ID。然后您可以使用 ps/proc/<pid>以获取有关调用过程的更多信息。

$^X : perl 解释器的完整路径,它可以提供有关 Perl 如何从 shell 启动的线索

$0 , __FILE__ : 从命令行调用的脚本的名称,以及当前文件名。如果它们一致,则当前文件包含从命令行调用的脚本。

@ARGV :传递给脚本的命令行参数。与 $^X , $0 , 和 @ARGV ,您确切地知道 Perl 解释器是如何从 shell 启动的。

caller :堆栈跟踪信息。如 caller返回 undef在脚本开始时,您位于堆栈的顶部框架,并且您的脚本是从 shell 调用的。否则 caller返回调用脚本的包、文件和行(使用 dorequire )。

$^T : 当前 Perl 脚本启动的时间(自“纪元”以来的秒数),因此您知道当前 Perl 解释器是何时从 shell 启动的。使用 scalar localtime($^T)以更友好的格式查看此值。

关于perl - 我怎么知道 perl 脚本是如何启动的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2784069/

相关文章:

sql - 运行一个与多个插入之间的性能差异是什么

regex - Perl制表程序

perl - 将 TAP::Formatter::JUnit 与 Mojolicious 测试一起使用?

Perl CPAN 字典

multithreading - 在Perl中实现看门狗

regex - 带有 $> 符号的正则表达式

sorting - 在 Perl 版本 5.20 中从具有可选排序的 sub 返回 arrayref 的适当方法

perl - 获取 Word 文档特定部分中的段落

python - 基本数据类型(字符串和整数)在 Python 和 Perl 中是如何实现的

Perl %{$var} 与 %$var