后台执行UNIX/Linux命令和脚本的五种方法
?http://hankjin.blog.163.com/blog/static/337319372010111492348473/
?
2010-12-14 09:35:48|??分類: Unix |??標簽:后臺??bash??script??background??linux?? |字號大中小?訂閱
原文:http://www.thegeekstuff.com/2010/12/5-ways-to-execute-linux-command/by SathiyaMoorthy on December 13, 2010
問題: 我知道如何在前臺執行Unix命令。你可不可以告訴我怎樣在后臺執行Linux命令?
答案: 你可以使用本文下面介紹的5種方法中的任意一種,在后臺執行Linux命令或腳本。
1. 使用&符號在后臺執行命令
你可以在Linux命令或者腳本后面增加&符號,從而使命令或腳本在后臺執行,例如:.
$ ./my-shell-script.sh &詳情請參考這篇文章 Bg, Fg, &, Ctrl-Z – 5 Examples to Manage Unix Background Jobs
2. 使用nohup在后臺執行命令
使用&符號在后臺執行命令或腳本后,如果你退出登錄,這個命令就會被自動終止掉。要避免這種情況,你可以使用nohup命令,如下所示:
$ nohup ./my-shell-script.sh &詳情請參考這篇文章 Unix Nohup: Run a Command or Shell-Script Even after You Logout
3. 使用screen執行命令
通過nohup和&符號在后臺執行命令后,即使你退出登錄,這個命令也會一直執行。但是,你無法重新連接到這個會話,要想重新連接到這個會話,你可以使用screen命令。.
Linux的screen命令提供了分離和重新連接一個會話的功能。當你重新連接這個會話的時候,你的終端和你分離的時候一模一樣。
詳情請參考這篇文章 Screen Command Examples: Get Control of Linux / Unix Terminal
4. 使用at將一個命令作為批處理執行
使用at命令,你可以讓一個命令在指定的日期和時間運行,例如要在明天上午10點在后臺執行備份腳本,執行下面的命令:
$ at -f backup.sh 10 am tomorrow詳情請參考這篇文章 Understand at, atq, atrm, batch Commands using 9 Examples
在批處理模式下執行某些任務需要啟用一些選項。下面的文章會給出詳細解釋:.
- How To Capture Unix Top Command Output to a File in Readable Format
- Unix bc Command Line Calculator in Batch Mode
- How To Execute SSH and SCP in Batch Mode (Only when Passwordless login is enabled)
5. 使用watch連續地執行一個命令
要想按一個固定的間隔不停地執行一個命令,可以使用watch命令,如下所示:
$ watch df -h詳情請參考這篇文章 Watch: Repeat Unix Commands or Shell-Scripts every N seconds
總結
以上是生活随笔為你收集整理的后台执行UNIX/Linux命令和脚本的五种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Spring中使用JMS
- 下一篇: 嵌入式系统开发怎样快速度入门