当前位置: 技术问答>linux和unix
进程退出码大于129代表什么意思?
来源: 互联网 发布时间:2015-11-25
本文导语: 进程退出码大于129代表什么意思?为什么大于129,下面程序就不做了? 执行某程序 ret=$? if [ "$ret" -ne 0 ] then if [ "$ret" -ge 129 ] then echo "Killed By Ter...
进程退出码大于129代表什么意思?为什么大于129,下面程序就不做了?
执行某程序
ret=$?
if [ "$ret" -ne 0 ]
then
if [ "$ret" -ge 129 ]
then
echo "Killed By Terminal!" #??
exit 0
fi
echo "command failed, try next time!"
continue
fi
这里的ret值退出码和erron值是一回事吗?
执行某程序
ret=$?
if [ "$ret" -ne 0 ]
then
if [ "$ret" -ge 129 ]
then
echo "Killed By Terminal!" #??
exit 0
fi
echo "command failed, try next time!"
continue
fi
这里的ret值退出码和erron值是一回事吗?
|
不是一回事。这是主函数return值或者调用exit的实参
|
129指的是进程收到SIGHUP退出。
退出码的低8位为0表示正常退出,此时高8位为exit的参数
低7位不为0,则表示进程收到信号非正常退出,低7位为所收到信号
1为SIGHUP,也就是所谓"Killed By Terminal!",但是用-ge,个人觉得似乎欠妥,因为所有信号都会造成-ge 129。
退出码的低8位为0表示正常退出,此时高8位为exit的参数
低7位不为0,则表示进程收到信号非正常退出,低7位为所收到信号
1为SIGHUP,也就是所谓"Killed By Terminal!",但是用-ge,个人觉得似乎欠妥,因为所有信号都会造成-ge 129。