我是脚本语言的新手,我想问一个简单的问题。
#!/usr/bin/perl
my $process_id = shift;
execute();
sub execute() {
system("cd", "bin");
my $output = `pcp.sh -p $process_id`;
if (index($output, "some string") != -1) {
print("Information 1.0 :Standalone server works fine \n");
}
else {
print("Information 2.0 Standalone server have some problems)\n");
}
}
代表'pcp.sh',请点击链接:
http://www.oracle.com/technetwork/systems/security/pcp-149863.txt
此脚本适用于终端并返回
Information 1.0 Standalone server works fine
但我正在做脚本监控和监控工具将输出作为返回值。 (这很奇怪。)在我正在运行脚本的监控工具上,它说
Information 2.0 Standalone server have some problems
我需要从pcp.sh
获取输出。并且该代码的pcp.sh -p $process_id
部分运行了大约一分钟。监控工具可能运行五秒钟。我不清楚我必须等待,但我不知道如何处理这项工作。
答案 0 :(得分:0)
尝试使用Perl调试器来解决它。它易于使用,只需运行:
perl -d yourscript
它将开始。然后,您可以使用以下命令:
n
- 运行下一个声明
l
- 列出perl脚本
p var
- 打印一些变量
s
- 进入函数(而不是执行整个函数)
b 16
- 在第16行设置断点
r
- 运行到下一个断点或结束
q
- 退出