假设我有一个脚本使用和命令parent.pl调用另一个脚本,如下所示:child.plsystemstart
# parent.pl
system("START \"CHILD\" /WAIT perl child.pl");
print "$?\n";
Child.pl 正在运行一个需要很长时间的操作:
# child.pl
while (1) {}
现在我用TASKKILL终止child.pl。
TASKKILL /FI "WINDOWTITLE eq CHILD"
parent.pl令人惊讶的是,由is打印的退出代码0。但是,如果我只是调用child.pl而parent.pl不是使用START命令,则退出代码将是256.
# parent.pl
system("perl child.pl");
print "$?\n";
即使代码被杀死,是否START总是退出代码?0有没有办法让它用“正确”的代码退出,比如256?