system()
函数将从C和Perl脚本启动一个新进程。
在错误代码表示方面,C中的system()
和Perl脚本调用的进程之间究竟有什么区别?
答案 0 :(得分:8)
进行了一些研究:
返回值是退出状态 等待返回的程序 呼叫。要获得实际退出值, 向右移八(见下文)。看到 也是“执行”。这不是你想要的 用来捕获a的输出 命令,你应该使用 只是反叛或qx //,如上所述 在perlop中的“
STRING
”返回值 -1表示无法启动 程序或等待错误(2) 系统调用(检查$!for 原因)。
wait
的文档说:
就像wait(2)系统调用一样 在你的系统上:它等待一个孩子 进程终止并返回 已故过程的pid,如果是-1,则为-1 没有子进程。该 状态以$返回?和 $ {^ CHILD_ERROR_NATIVE}。注意一个 返回值-1可能意味着 正在进行子进程 自动收割,如中所述 perlipc。
来源:这取自perldoc。这是Perl中的tutorial on system。