Странная ошибка из-за DBD::Oracle — "No child processes". Например:
#!/usr/bin/perl -w
use DBI qw(:sql_types);
qx{id}; print "1. $!, err code: ", ($?>>8), "\n";
$dbh=DBI->connect('dbi:Oracle:host=X.X.X.X;sid=SID1', 'user1', 'pass1') or die;
qx{id}; print "2. $!, err code: ", ($?>>8), "\n";
После запуска:
[null@zabbix ~]$ perl t.pl
1. No such file or directory, err code: 0
2. No child processes, err code: 72057594037927935
[null@zabbix ~]$ perl -MDBI -le 'print $DBI::VERSION'
1.620
[null@zabbix ~]$ perl -MDBD::Oracle -le 'print $DBD::Oracle::VERSION'
1.19
[null@zabbix ~]$ perl -v
This is perl, v5.8.9 built for i386-freebsd-64int
(with 1 registered patch, see perl -V for more detail)
...
Решается проблема добавлением $SIG{'CHLD'}='DEFAULT' после вызова DBI->connect. Разбираться глубже не стал, пока времени на это нет. В инете нашел похожую ситуацию тут:
Errors when closing pipe after DBI->connect (rt35644)
Комментариев нет:
Отправить комментарий