2016-03-07 89 views
2

例如,如果我强迫的容器停止与kill,然后​​检查我的容器,我得到国家Exit 137。并与docker-compose stop我得到Exit 1/Exit 0docker-compose退出代码的含义?

由于没有退出代码的文档,任何人都可以向我解释它的含义吗?

回答

3

这和Docker运行的系统没有太大的关系。如果你把这个表的reserved exit codes对于bash一看,你可以看到行:

128+n Fatal error signal "n" kill -9 $PPID of script $? returns 137 (128 + 9) 

相当于你提到的137。它是128 + 9(SIGKILL),您可以在signal(7)手册页中看到。通常情况下,0表示干净的出口,1表示出现问题,这两个对于程序员来说就足够了。然而它们可以在1-255的范围内,包括上面提到的保留的。

这仅仅是因为我不是这方面的专家一个简短的回答,你可以找到更多关于这个unix.stackexchange线程上default exit code when process is terminated或也许这里有人能给出一个更复杂的答案比我的。

+0

感谢您的建议:)我得到的一切我现在 – itsjef

+0

很好的解释需要, –

2

看来你可能会用完内存。这是因为这里提到一个Linux标准:http://tldp.org/LDP/abs/html/exitcodes.html


错误代码:无效的参数退出


错误代码128 + N:致命错误信号 “N” 杀-9脚本$ $的$ PPID?返回137(128 + 9)


错误137泊坞表示该容器OOM杀手‘“通过KILL'ed’(内存不足)。当容器中没有足够的内存来运行进程时会发生这种情况。

'OOM杀手'是一个主动的进程,当内存级别过低时通过杀死资源滥用进程来释放系统内存来跳转到保存系统。

这里的a little more info