
我是 Linux 新手,我可能會問一個相當基本的問題。如何在 Linux 上運行連續程式?
基本上,我有一個程式可以不斷檢查網站上的內容。該計劃將執行幾天。我在希望運行此程式的電腦上沒有管理權限,也沒有對此電腦的獨佔存取權限,這意味著其他使用者可以實體登入。此外,除非發生不可預見的災難,否則電腦將在我的程式的整個運行期間一直運行。
我知道我可以透過 SSH 連接到機器並運行該程式。然而,這是不可取的,因為我需要第二台機器來完成它(這違背了我正在做的事情的目的),更不用說超時問題了。
有沒有一種方法可以讓我在電腦上遠端運行我的程序,而無需在啟動後建立某種連接?
答案1
如果它是需要定期發生的事情,請使用cron
(例如,您需要每小時檢查一次網站,或每天一次,或比該頻率更高或更低,但仍然不是任意定義的)。
但是......您可能想稍後運行命令而不是現在,為此,您想要使用at
守護進程,它允許您在稍後的日期/時間運行一次命令(例如現在是 5 點,您想回家,但最好有 4 小時的進程)半夜運行,並且不會再次發生)。
我會說nohup
,已經提到過,如果您想立即運行它但不想稍後重新連接到該會話來檢查它,screen
請使用它。 /用於稍後檢查。tmux
nohup
screen
tmux
答案2
你需要做兩件事:
- 使用 運行命令
nohup
。這會阻止遠端電腦在您斷開連接時終止命令 &
透過附加.在背景運行該指令。這並不是絕對必要的,但會讓您返回 shell,而不是阻塞命令,以便您可以正常斷開連接或執行其他操作
所以對於命令command
:
nohup command &