問題: 我知道如何在前臺執(zhí)行Unix命令。你可不可以告訴我怎樣在后臺執(zhí)行Linux命令?
答案: 你可以使用本文下面介紹的5種方法中的任意一種,在后臺執(zhí)行Linux命令或腳本。
你可以在Linux命令或者腳本后面增加&符號,從而使命令或腳本在后臺執(zhí)行,例如:.
$ ./my-shell-script.sh &
詳情請參考這篇文章 Bg, Fg, &, Ctrl-Z – 5 Examples to Manage Unix Background Jobs
使用&符號在后臺執(zhí)行命令或腳本后,如果你退出登錄,這個命令就會被自動終止掉。要避免這種情況,你可以使用nohup命令,如下所示:
$ nohup ./my-shell-script.sh &
詳情請參考這篇文章 Unix Nohup: Run a Command or Shell-Script Even after You Logout
通過nohup和&符號在后臺執(zhí)行命令后,即使你退出登錄,這個命令也會一直執(zhí)行。但是,你無法重新連接到這個會話,要想重新連接到這個會話,你可以使用screen命令。.
Linux的screen命令提供了分離和重新連接一個會話的功能。當(dāng)你重新連接這個會話的時候,你的終端和你分離的時候一模一樣。
詳情請參考這篇文章 Screen Command Examples: Get Control of Linux / Unix Terminal
使用at命令,你可以讓一個命令在指定的日期和時間運行,例如要在明天上午10點在后臺執(zhí)行備份腳本,執(zhí)行下面的命令:
$ at -f backup.sh 10 am tomorrow
詳情請參考這篇文章 Understand at, atq, atrm, batch Commands using 9 Examples
在批處理模式下執(zhí)行某些任務(wù)需要啟用一些選項。下面的文章會給出詳細(xì)解釋:.
要想按一個固定的間隔不停地執(zhí)行一個命令,可以使用watch命令,如下所示:
$ watch df -h
詳情請參考這篇文章 Watch: Repeat Unix Commands or Shell-Scripts every N seconds