簡體   English   中英

如何在VM上無限期運行Shell腳本?

[英]How to run shell script on VM indefinitely?

我有要無限期運行的VM。 服務器始終處於運行狀態,但是我希望腳本在注銷后繼續運行。 我將如何去做? 創建一份工作?

通常,以下步驟足以說服大多數Unix shell,您正在啟動的進程不應依賴於shell的持續存在:

  • nohup下運行命令
  • 在后台運行命令
  • 將通常指向終端的所有文件描述符重定向到其他位置

因此,如果要運行command-name ,則應這樣進行:

nohup command-name >/dev/null 2>/dev/null </dev/null &

這告訴將執行command-name的進程將所有stdoutstderr發送到任何地方(而不是發送到您的終端),也從任何地方(而不是從終端)讀取stdin 當然,如果您確實有要寫入/讀取的位置,則可以肯定地使用這些位置-除終端之外的任何設備都可以:

nohup command-name >outputFile 2>errorFile <inputFile &

另請參閱Petur的評論中的答案,該評論對這個問題進行了一些討論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM