【问题标题】:Permissions issue when using GNU screen使用 GNU 屏幕时的权限问题
【发布时间】:2015-03-01 15:33:33
【问题描述】:

我正在尝试 $ssh$ 一个 python 程序。该代码求解大量微分方程,计算一些感兴趣的参数,并应使用numpy 函数npumpy.savetxt 将这些参数写入文件。

当我保持登录状态时,这很好用,但计算通常需要很长时间,所以我希望它们在后台运行,而我的生活中会做更多有趣的事情。我曾尝试使用GNU screen,它再次在登录时工作正常,但是当我分离屏幕并注销计算时出现错误消息:

Traceback (most recent call last):
  File "programme.py", line 66, in <module>
  File "/path-to-python/Python/lib/python3.4/site-
packages/numpy/lib/npyio.py", line 1022, in savetxt
   fh = open(fname, 'wb')
PermissionError: [Errno 13] Permission denied: 'filename.txt'

我认为这与我在注销机器时卸载文件有关。有没有人遇到过这个或类似的问题?

如果您需要任何澄清,请告诉我。

ps。为了安装所有合适的软件包,我必须在本地安装 python 3.4.2——我认为这不是问题的原因,但我可能是错的。

【问题讨论】:

    标签: python numpy ssh gnu-screen


    【解决方案1】:

    我想您已经找到了答案,但我发布此解决方案是因为我遇到了同样的问题,其他人可能也对此感兴趣。

    进入屏幕后,使用 sudo 运行程序: $ sudo python programme.py

    然后您可以分离并退出您的 ssh 会话,而不会出现numpy.savetxt 的任何权限错误。

    【讨论】:

    • 嗨,是的,我确实解决了这个问题,尽管它与您的解决方案略有不同。因此,似乎当您注销 ssh 时,它会卸载您的主目录,因此您无法再写入它。大概 sudo 解决了这个问题,不幸的是我没有 sudo 权限,所以最终将我的数据写入硬盘,这似乎工作得很好。
    【解决方案2】:

    您没有“filename.txt”文件的权限。现在有两种方法可以解决这个问题,您可以将同一文件的权限更改为 755,也可以使用 sudo 权限运行代码。

    【讨论】:

    • 最初我认为可能是这种情况,在这种情况下我会被塞满,因为我没有管理员权限。但是只要我仍然登录到ssh,代码就可以成功运行这一事实让我不这么认为。这不是有点奇怪,还是我错过了什么?
    猜你喜欢
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 2015-05-29
    • 2011-09-12
    • 2010-09-26
    • 1970-01-01
    • 2021-09-01
    相关资源
    最近更新 更多