Gnu-Screen
無法啟動螢幕會話
我通過 bash 呼叫以下命令,但它根本沒有創建螢幕會話:
screen -d -m time python3 myscript.py ; sleep 1
當我這樣做時,
screen -r
它說沒有螢幕可以恢復。但是,當我嘗試:screen -d -m time python3; sleep 1
然後在這樣做
screen -r
時會顯示 Py 控制台。我在做什麼錯?
screen -d -m time python3 myscript.py``python3 myscript.py
在螢幕會話中執行,然後退出。如果您稍後沒有看到該螢幕會話,那是因為腳本已經退出。看來你希望
myscript.py
跑得更久。一定是出了什麼問題。將輸出(尤其是錯誤)重定向到文件以查看發生了什麼。或者通過執行另一個程序來保持會話。screen -d -m time sh -c 'python3 myscript.py; echo $?; sleep 999999999'
如果腳本在您直接從螢幕執行時不起作用,但如果您從互動式 shell 執行它則起作用,那麼這很可能表明兩件事:
myscript.py
依賴於某些設置,可能是環境變數。它不是獨立的。- 您將此設置設置在錯誤的位置。您可能在 中設置了一個環境變數
.bashrc
,該變數只能由互動式 shell 讀取。.profile
改為設置環境變數;登錄時會讀取此文件。