在 Windows 上,我只想在脚本终止时执行某些操作。
下面的块没有帮助;我认为这是因为 Windows 不支持信号。
$SIG{__DIE__} = sub {
qx(taskkill /F /IM telnet.exe);
CORE::die @_;
}
然后我尝试了这个:
END {
qx(taskkill /F /IM telnet.exe);
exit $exit_code;
}
它执行了
taskkill
,但以退出代码 0 退出。我需要传播 exit_code
,因为我们基于它做进一步处理。 最佳答案
END
块可以设置 $?
来控制退出值。
END {
qx(taskkill /F /IM telnet.exe);
$? = $exit_code;
}