无法启动屏幕会话

无法启动屏幕会话

我通过 bash 调用以下命令,但它根本没有创建屏幕会话:

screen -d -m time python3 myscript.py ; sleep 1

当我screen -r这样做时,它说没有屏幕可以恢复。但是当我尝试时:

screen -d -m time python3; sleep 1

然后执行此操作时screen -r会显示 Py 控制台。

我做错了什么?

答案1

screen -d -m time python3 myscript.pypython3 myscript.py在屏幕会话内运行,然后退出。如果您稍后没有看到该屏幕会话,那是因为脚本已经退出。

看来你期望myscript.py跑得更久。一定是出了什么问题。将输出(尤其是错误)重定向到文件以查看发生了什么。或者通过运行另一个程序来保持会话。

screen -d -m time sh -c 'python3 myscript.py; echo $?; sleep 999999999'

如果直接从屏幕运行该脚本时该脚本不起作用,但从交互式 shell 运行该脚本则有效,这很可能表明两件事:

  • myscript.py依赖于某些设置,可能是环境变量。它不是独立的。
  • 您将此设置设置在错误的位置。您可能在 中设置了一个环境变量.bashrc,该变量只能由交互式 shell 读取。改为设置环境变量.profile;当您登录时会读取此文件。

相关内容