2013-12-11 32 views
0

我最近在一个新盒子上安装了Ubuntu 12.04服务器。我在ssh中运行一个命令(一个循环遍历perl脚本的do循环,它会分离出几个进程,每个进程都运行提供的数据上的应用程序[blastn]),然后使用Ctrl-a d进行分离。当我运行screen -r恢复时,没问题,循环运行愉快。当我退出我的ssh会话并重新登录时,我仍然可以通过screen -r恢复屏幕会话,但现在循环终止并显示错误消息,指出找不到应用程序和/或perl脚本无法被发现。我已经尝试给perl脚本的完整路径给我的perl命令(即不使用代字号),但没有骰子。 ssh注销/登录后仍会丢失。GNU屏幕在注销后无法找到应用程序

看来这是我的Ubuntu服务器特别。运行完全相同的循环/ perl脚本通过ssh将进程/应用程序分离到我的Mac OS X机器中,即使从ssh注销后它也可以高兴地完成,所以我不知道这与我的Ubuntu服务器有什么关系,而不是GNU屏幕。网上搜索没有得到答案,但是,我希望你能提供任何帮助。

+0

我猜你的意思是Ubuntu的版本12.04或版本12.10。我知道没有12.01。 Ubuntu版本每年发布两次,一次是在四月份,一次是在十月份,因此.04和.10(所以它们不是真正的数字,但是日期)。 – Alfe

+0

@Alfe对不起,错字。它的版本是12.04。我会纠正我的帖子。 – Egon

回答

1

我只能猜测你可能有一个加密的主目录,这个目录在你的登录时间内被加载为解密版本。只要最后一次登录终止,解密后的版本就会被卸载,并且正在运行的进程无法再访问主目录中的文件。

你可以输入mount | grep ^/home/来检查。如果这显示ecryptfs作为安装类型,则情况如此。

如果这没有显示任何内容(或类似ext3或类似的文件系统类型),那么我的猜测是错误的。

+0

是的,我刚查过,你说得对。 'ecryptfs'是安装类型。所以我将无法使屏幕与加密的主目录一起工作?如果不是,我想我会研究如何删除加密。 – Egon

+0

我想你需要运行一个登录shell来防止卸载。但是这也意味着安全性的显着下降。 – Alfe

相关问题