我有一个 Perl 脚本,它调用 sqlldr 并将数据从平面文件加载到表中。
现在,我的问题是,即使 sqlldr 很好地加载了表,它也将退出代码返回为 -1(通过使用获得$?
),当我尝试使用$!
它时说No child processes
。
我正在使用sudo
命令执行此脚本
sudo -u <uname> bash
<script_name>.pl
如果我直接从我的用户 ID 执行这个 Perl 脚本,它就可以正常工作。我真的不明白为什么只有当我通过 sudo 用户执行时才会出现此错误。
请帮助我理解这个错误。
编辑:如果我给出$SIG{CHLD} = 'DEFAULT';
我的代码,它工作正常。但是,如果我删除这一步,问题就会再次出现。当我浏览此错误时,我从 WWW 获得了此代码。知道它有什么作用吗?