我有一个Python脚本,该脚本使用带有Twisted的ZSI调用Web服务。在Linux上,我正在运行此脚本,它运行良好。
现在,我希望此脚本在文件系统中某处的chroot监狱中运行。我已经在监狱中添加了usr,lib和etc目录。当我从监狱执行脚本时,Web服务没有任何响应,并且Twisted报告了如下错误:
[失败实例:回溯(无帧失败):twisted.internet.error.ConnectionLost:与另一侧的连接以一种非干净的方式丢失。
]
如果我将根目录更改为文件系统(/)的根目录,并且新监狱使用了已经存在的usr,lib和etc目录,则它将正常工作。
我怀疑第一个chroot监狱的bin / usr / etc目录中缺少一个不正确的库。您有什么可以帮助我的线索吗?有人可以解决这个问题吗?
最佳答案
如果您的应用程序在某个时候引发了意外的异常-例如,由于某些依赖项导入失败,因为它没有安装在chroot中-那么这可能会导致连接意外关闭。很难精确地说出来,因为您还没有提到您拥有哪种连接,或者您使用了哪些API来管理它们。
确保已启用日志记录,并查找意外的回溯被写入日志文件。如果您发现任何问题,则很有可能它们与导致应用程序失败的问题有关。