【问题标题】:Using nohup when trying to run a Python35 script?尝试运行 Python35 脚本时使用 nohup?
【发布时间】:2017-10-30 13:25:15
【问题描述】:

我正在尝试使用腻子控制台在 linux 服务器上运行 python 程序,该控制台从通过 WinSCP 上传到服务器的文件夹中提取程序和包。当我使用命令正常运行程序时:

python35 program.py

它完美运行并开始运行。问题是当我的计算机关闭并且腻子窗口消失时,我需要在服务器上运行程序。

我读到你可以使用 nohup 命令来执行此操作,但是每当我运行时:

nohup python35 program.py &

返回:

ignoring input and appending output to `nohup.out'
nohup: failed to run command `python35': No such file or directory

此时程序没有运行,并且在 WinSCP 上创建了一个空的 nohup.out 文件。

为什么会这样?我该如何解决?到目前为止,我还没有在 SO 上找到任何等效的错误。

【问题讨论】:

  • 在大多数情况下,命令是python3.5。那么python35 实际上是什么?脚本、链接、二进制文件、别名?
  • 不确定。我可以使用什么命令来检查?
  • 我的主管告诉我 Python35 作为运行 python3.5 的命令。当我尝试运行命令 python3.5 时,它返回未找到命令。
  • 那么它没有安装。与您的主管交谈。
  • type python35 的输出是什么?

标签: python linux bash putty


【解决方案1】:

正如上面在 cmets 中建立的,python35 是一个 shell 别名。由于nohup 在子shell 中运行给定的命令,父shell 进程中定义的别名将不可用。

使用以下命令:

nohup /opt/rh/rh-python35/root/usr/bin/python program.py &

【讨论】:

    猜你喜欢
    • 2011-01-12
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多