在机器上工作和通过 ssh 执行相同任务有什么区别?

在机器上工作和通过 ssh 执行相同任务有什么区别?

我一直在大学的一台本地机器上工作,该机器位于我可以访问的服务器上。

我有一些C代码并能够按预期执行代码的并行运行。

但是当我在其他地方使用 ssh 时我得到

$ mpirun -np 4 prime.c

/usr/lib/command-not-found: /usr/bin/python3: bad interpreter: Permission denied

现在我在大学机器上有两个终端选项卡,一个在 ssh 下,它给了我上面的内容,和在家里一样。另一个选项卡没有 ssh,但工作正常。

me@server:~/Desktop/path/to/folder$ mpirun -np 4 prime.c

我无法弄清楚,因为我根本没有运行 Python 脚本。我在大学里没有 root 权限,但当我在那里时这不是问题。

任何建议都很好。

答案1

现在我在大学机器上有两个终端选项卡,一个在 ssh 下,它给了我上面的内容,和在家里一样。另一个选项卡没有 ssh,但工作正常。

hostname -f您可以通过在两个选项卡中运行或hostname -i比较结果来检查它是否实际上是同一台机器。

另外,在大学机器上运行ssh localhost然后运行您的 mpi 命令。我希望它会运行良好并证明它实际上与 ssh 无关。只是您连接的机器具有不同的配置。

答案2

根据您的 shell 配置,您可能$PATH在交互运行时没有相同的配置。尝试通过 ssh 登录到交互式 shell echo $PATH,然后通过客户端上的单个命令行执行相同的操作。

相关内容