标签: bash
当命令被信号杀死时,Bash shell会将$?参数设置为(128 + signal number)。但是,命令可以使用大于128的参数调用exit(),而不会被信号杀死。如何区分这两种情况,除了编写执行原始程序的包装器并使用wait(2)检查退出状态?
$?
(128 + signal number)
exit()
wait(2)
换句话说,如何恢复命令使用的退出状态的完整8位?