linux - 注销后 GNU Screen 找不到应用程序

标签 linux ubuntu ssh gnu-screen

<分区>

我最近在一个新机器上安装了 Ubuntu 12.04 服务器。我 ssh 进入,运行一个命令(一个 do 循环迭代一个 perl 脚本,该脚本 fork 几个进程,每个进程在提供的数据上运行一个应用程序 [blastn]),然后使用 Ctrl-a d 分离。当我运行 screen -r 恢复时,没问题,循环运行得很愉快。当我注销我的 ssh session 并重新登录时,我仍然可以使用 screen -r 恢复 screen session ,但现在循环已终止并出现错误消息,指出找不到该应用程序和/或找不到 perl 脚本。我已经尝试将 perl 脚本的完整路径提供给我的 perl 命令(即不使用波浪号),但没有骰子。 ssh 注销/登录后仍然迷路。

这似乎是我的 Ubuntu 服务器特有的。运行完全相同的循环/perl 脚本通过 ssh 将进程/应用程序 fork 到我的 Mac OS X 框中,即使从 ssh 注销后它也能愉快地完成,所以我想知道这是否与我的 Ubuntu 服务器有更多关系而不是 GNU screen 。然而,在网上进行了大量搜索都没有找到答案,所以如果您能提供任何帮助,我将不胜感激。

最佳答案

我只能猜测您可能有一个加密的主目录,它是在您登录时安装的解密版本。一旦最后一次登录终止,解密版本就会被卸载,您正在运行的进程将无法再访问主目录中的文件。

您可以通过键入 mount | 来检查这一点grep ^/home/.如果这将 ecryptfs 显示为挂载类型,那么就是这种情况。

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

关于linux - 注销后 GNU Screen 找不到应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20520729/

相关文章:

ubuntu - Certbot SSL 证书和 http->https + www->non-www 重定向到多次错误

java - 实现 SSH 命令以返回 Apache Mina 中的文件内容

linux - 如何生成有效期少于一天的 openssl 证书?

linux - NASM中的printf最简单的工作示例失败

c++ - 为什么 exec() 在 chroot() 之后不工作?

python - 在 Linux 上将 PIL 图像转换为视频

php - JSON 常量表示它们在 Ubuntu 上的 PHP 5.5 中未定义

python - 为什么我在我相当强大的 ubuntu 计算机上的 vsc 和它的集成 python 终端之间会有两秒的延迟?

c# - 在 C# 中使用 pscp 通过 post 请求在 Windows 和 Linux 之间传输文件

php - 在更新 mysql 行之前运行 shell 并转换图像?