【发布时间】:2011-12-06 09:08:30
【问题描述】:
当使用参数 a b c d e f g 运行时,此脚本:
system("ps ww$$");
{
local $0 = "foo";
system("ps ww$$");
}
system("ps ww$$");
打印类似:
PID TTY STAT TIME COMMAND
16057 pts/5 S+ 0:00 perl /tmp/u a b c d e f g
PID TTY STAT TIME COMMAND
16057 pts/5 S+ 0:00 foo
PID TTY STAT TIME COMMAND
16057 pts/5 S+ 0:00 /tmp/u
也就是说,在第三种情况下,ps 不显示原始的 argv 数组。
有没有办法可以通过ps恢复/显示原始参数(例如a b c d e f g)?
我正在使用 Centos 和 Ubuntu。
【问题讨论】:
-
我可以使用 5.14.0 重现。它可能在 5.14.1 或 5.14.2 中未修复。应使用
perlbug命令行工具报告错误。 -
5.22.0 还没有修复(在 Linux Mint 系统上试过)。
标签: perl ubuntu centos ps argv