Cron

在後台打開螢幕並啟動一個程序

  • November 28, 2016

我想做以下事情:重新啟動後,我想啟動一個螢幕,然後應該執行一個腳本。因此,我搜尋了 crontab 和 screen,我也確實找到了一些答案。但是,沒有什麼對我有用。我正在執行一個安裝了螢幕的 ubuntu linux,我想執行一個 python 腳本。

以下作品screen -d -m打開一個螢幕但不執行任何東西。相反,我想創建一個螢幕並啟動一個腳本。從我在網上找到的答案告訴我這是由screen -d -m scriptname. 在我的情況下,腳本名稱是 main.py(我檢查了它是否可以執行)。

但是,screen -m -d /path/to/main.py不會創建螢幕。這是我的控制台輸出

$ screen -d -m /opt/main.py
$ screen -x
There is no screen to be attached.

但是,這有效但不執行 python 腳本:

$ screen -d -m
$ screen -x

我在這裡做錯了什麼?謝謝 :)

實際上screen -d -m /path/to/executable-python-script.py工作正常。

但是,腳本終止後,螢幕會自動關閉。另外,請記住,類似的東西screen -d -m /usr/bin/python3 /path/to/executable-python-script.py不起作用!

因此,例如使用以下 python 腳本testscript.py進行測試:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import time

def main():
   for i in range(10):
       print("Python3 Script " + str(i))
       time.sleep(5)


main()

然後做:

  1. chmod +x testscript.py
  2. screen -d -m /path/to/testscript.py
  3. 快速執行screen -x以檢查腳本是否實際執行

引用自:https://serverfault.com/questions/817440