無法啟動螢幕會話

無法啟動螢幕會話

我透過 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;當您登入時會讀取此文件。

相關內容