47

有没有办法消除 perl 中的警告(退出代码 137)?我在另一个 shell 脚本中在 linux 上运行 Perl 脚本。此 Perl 脚本以警告和退出代码 137 退出。我无法确定退出代码 137 代表什么。

避免此警告的最佳方法是什么?我在脚本中尝试了“无警告”,并且在我的 Perl 脚本末尾也有一个 exit 0。

4

4 回答 4

78

137=128+9,表示其他进程向你发送了信号 9,即 SIGKILL。即其他脚本杀死你的,这就是它的样子。

于 2009-06-24T22:19:38.783 回答
52

启动 python 脚本时,我刚刚遇到了相同的退出代码 137。原来是 OOM 杀手介入,将 SIGKILL 发送到 python 解释器。如果是同样的原因,你可以在 /var/log/messages 中找到 oom msgs

于 2010-08-18T18:09:01.640 回答
9

我从 ANT 脚本中得到了相同的错误代码 137。查看 /var/log/messages,我知道这是内存不足错误。

Jun 21 07:33:30 myhost kernel: Out of memory: Kill process 52959 (java) score 164 or sacrifice child
Jun 21 07:33:30 myhost kernel: Killed process 52959 (java) total-vm:709496kB, anon-rss:397016kB, file-rss:0kB
于 2012-06-21T14:46:43.203 回答
4

我怀疑退出警告是由调用 perl 程序的 shell 打印出来的,而不是由 perl 程序本身打印出来的,所以 perl 代码中的“无警告”对你没有帮助。退出代码 137 表示它被 SIGKILL 信号杀死。

于 2009-06-24T23:03:13.500 回答