0

我是脚本语言的新手,我想问一个简单的问题。

#!/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部分代码运行了大约一分钟。监控工具可能会运行五秒钟。我明白我必须等待,但我不知道如何处理这份工作。

4

1 回答 1

0

尝试使用 Perl 调试器来解决它。它易于使用,只需运行:

perl -d yourscript

它会开始。然后您可以使用以下命令:

n- 运行下一条语句

l- 列出 perl 脚本

p var- 打印一些变量

s- 进入一个函数(而不是执行整个函数)

b 16- 在第 16 行设置断点

r- 运行到下一个断点或结束

q- 退出

于 2014-05-08T12:51:07.343 回答