如何在 Linux 中后臺運行進程?

一、后臺進程

????????在后臺運行進程是 Linux 系統中的常見要求。在后臺運行進程允許您在進程獨立運行時繼續使用終端或執行其他命令。這對于長時間運行的任務或當您想要同時執行多個命令時特別有用。

????????在深入研究各種方法之前,讓我們先了解一下什么是后臺進程。在 Linux 中,后臺進程是指獨立于終端運行的進程。執行命令時,它通常在前臺運行,這意味著它會占用終端直到完成。另一方面,在后臺運行進程允許您執行其他命令,而進程則繼續默默運行。

二、如何在后臺運行 Linux 命令

1. 在命令后添加一個 & 符號

????????運行 Linux 后臺命令的最簡單方法是在命令后添加一個“與”符號( & )。例如,如果您從終端啟動 gedit 文本編輯器,則在關閉編輯器之前無法使用 shell。但是,當您在命令中添加額外的&時,它會告訴 Bash 在后臺運行該命令,以便您立即使用 shell。

gedit &

2. 使用 bg 將正在運行的命令發送到后臺

????????有時,您運行命令后才發現它需要很長時間才能完成。您可以通過按下Ctrl + Z鍵,然后使用bg命令,輕松地將此類命令發送到后臺。按下Ctrl + Z可停止正在運行的進程,而bg可將其發送到后臺。

????????您可以在終端中輸入jobs來查看所有后臺任務的列表。使用fg命令將后臺進程調到前臺。

????????如果后臺有多個作業正在運行,您可以輸入fg后跟%n,其中n是作業 ID。例如,要將后臺作業2移到前臺,命令如下:

fg %2

????????要終止后臺作業,請在 kill 命令后使用%和作業 ID。

3. 使用 nohup 將命令發送到后臺

????????Linux 中的nohup命令允許管理員運行不受 HUP 或Hang Up信號影響的終端命令。您可以使用 nohup 在 Linux 上輕松地在后臺運行命令。

????????下面的示例在后臺運行一個簡單的 Nmap 端口掃描:

nohup sudo nmap -sS --top-ports=15 192.168.1.1/24

????????nohup 的一個主要優點是,即使退出 shell,命令也會運行。此外,它還會生成執行的日志文件。在當前目錄或 $HOME 中查找nohup.out 。

4. 使用系統重定向運行后臺命令

????????您還可以使用系統重定向在 Linux 中運行后臺命令。例如,如果您運行以下 ping 命令,您的 shell 將在后臺運行它并立即將終端控制權交還給您:

ping -c5 8.8.8.8 > output.log 2>&1 &

????????這里 ping 命令的輸出被重定向到output.log文件。如果要丟棄結果,可以將其替換為/dev/null。2>&1告訴 Bash 將任何錯誤重定向到同一個文件。最后的&指示 Bash 在后臺運行此命令。

5. 使用 disown

????????disown命令可讓您輕松地在后臺運行進程。首先,您需要使用&運算符任務發送到后臺。然后,輸入disown以將其從 shell 中分離。

gedit & disown

????????disown 的一個主要優點是,與 nohup 一樣,當您關閉 shell 或注銷時,系統不會終止您的任務。

6. 使用 tmux

?????????tmux 是一款功能強大的多路復用器,可讓您在單個窗口中運行多個終端會話。對于不熟悉 Linux 的人來說,學習如何使用和配置 tmux是一個絕佳的選擇。tmux 讓在 Linux 中運行后臺命令變得輕而易舉。

????????tmux new -d 'ping -c 10 8.8.8.8 > output.log'

????????當您運行上述tmux命令時,它將在單獨的 shell 中執行ping命令并使其在后臺運行。您可以使用此方法在后臺啟動任何 Linux 進程或命令。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37179.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37179.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37179.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kafka~特殊技術細節設計:分區機制、重平衡機制、Leader選舉機制、高水位HW機制

分區機制 Kafka 的分區機制是其實現高吞吐和可擴展性的重要特性之一。 Kafka 中的數據具有三層結構,即主題(topic)-> 分區(partition)-> 消息(message)。一個 Kafka 主題可以包含多個分…

3-linux命令行與基本命令

目錄 什么是shell linux命令 命令組成 幾個簡單的命令 linux文件系統導航 什么是shell linux學習路徑:學習shell→配置和環境→見任務和主要工具→編寫shell腳本 shell是一個接收由鍵盤輸入的命令,并將其傳遞給操作系統來執行的程序。幾乎所有…

C++學習全教程(Day2)

一、數組 在程序中為了處理方便,常常需要把具有相同類型的數據對象按有序的形式排列起來,形成“一組”數據,這就是“數組”(array) 數組中的數據,在內存中是連續存放的,每個元素占據相同大小的空間,就像排…

【Spring】DAO 和 Repository 的區別

DAO 和 Repository 的區別 1.概述2.DAO 模式2.1 User2.2 UserDao2.3 UserDaoImpl 3.Repository 模式3.1 UserRepository3.2 UserRepositoryImpl 4.具有多個 DAO 的 Repository 模式4.1 Tweet4.2 TweetDao 和 TweetDaoImpl4.3 增強 User 域4.4 UserRepositoryImpl 5.比較兩種模式…

ISO 19110操作要求類中的/req/operation/formal-definition詳細解釋

/req/operation/formal-definition 要求: 每個要素操作實體必須具有一個形式定義(formal definition),該定義應明確描述操作的行為和影響。 具體解釋 定義 要素操作實體(feature operation entity):這…

深度學習基準模型Mamba

深度學習基準模型Mamba Mamba(英文直譯:眼鏡蛇)具有選擇性狀態空間的線性時間序列建模,是一種先進的狀態空間模型 (SSM),專為高效處理復雜的數據密集型序列而設計。 Mamba是一種深度學習基準模型,專為處理長序列數據而設計&…

【鴻蒙學習筆記】位置設置

官方文檔:位置設置 目錄標題 align:子元素的對齊方式direction:官方文檔沒懂,看圖理解吧 align:子元素的對齊方式 Stack() {Text(TopStart)}.width(90%).height(50).backgroundColor(0xFFE4C4).align(Alignment.TopS…

<Python><ffmpeg>基于python使用PyQt5構建GUI實例:音頻格式轉換程序(MP3/aac/wma/flac)(優化版2)

前言 本文是基于python語言使用pyqt5來構建的GUI,功能是使用ffmpeg來對音頻文件進行格式轉換,如mp3、aac、wma、flac等音樂格式。 UI示例: 環境配置 系統:windows 平臺:visual studio code 語言:python 庫:pyqt5、ffmpeg 概述 本文是建立在之前的博文的基礎上的優化版…

在線教育項目(一):如何防止一個賬號多個地方登陸

使用jwt做驗證,使用賬號作為redis中的key,登錄的時候生成token放到redis中,每次申請資源的時候去看token 有沒有變,因為token每次登錄都會去覆蓋,只要第二次登錄token就不一樣了

Day7:.翻轉字符串里的單詞 151 卡碼網:55.右旋轉字符串

題目 151. 反轉字符串中的單詞 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:// 移除多余空格void moveSpace(string& s) {// 定義快慢指針int slow 0;int fast 0;// 刪除前導空格while (s.size() > 0 && fast < s.size() &&…

【算法——雙指針前綴和】

例題&#xff1a; 奇偶排序數組&#xff08;與下標對應&#xff09; 奇數偶數個數相等 922. 按奇偶排序數組 II #include<iostream> #include<vector> #include<algorithm> using namespace std;int main() {vector<int>nums { 4,2,5,7 };//指針x…

==和equals的區別(面試題)

和equals有什么區別 對于基本數據類型&#xff0c;比較的是值是否相等&#xff0c;對于引用類型則是比較的地址是否相等&#xff1b;對于equals來說&#xff0c;基本數據類型沒有equals方法&#xff0c;對于引用類型equals比較的是引用對象是否相同 那針對以上結論&#xff0c…

西點領導力:卓越是怎樣練成的

今天剛看了一個美國西點軍校第50任校長&#xff1a;羅伯克卡斯倫的《為什么跟西點軍校學領導力培養》這個演講。從中受益良多&#xff0c;于是我就去了解了一下這位校長以及西點軍校。 西點軍校 西點軍校&#xff08;United States Military Academy, USMA&#xff09;&#…

Android常用加解密算法總結

Android開發中對于數據的傳輸和保存一定會使用加密技術&#xff0c;加密算法是最普遍的安保手段&#xff0c;多數情況數據加密后在需要使用源數據時需要再進行解密&#xff0c;但凡是都有例外。下面從可逆加密、不可逆、不純粹加密三種方式記錄一下常見的加解密算法。 加密技術…

【使用sudo apt-get出現報錯】——無法獲得鎖 /var/lib/dpkg/lock-open(11:資 源暫時不可用) ,是否有其他進程正占用它?

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、ubuntu中進程正在被占用1. 問題描述2. 原因分析3. 解決 總結 前言 一、ubuntu中進程正在被占用 1. 問題描述 在Ubuntu中&#xff0c;使用終端時輸入帶有…

C++函數不完整聲明報錯

擋在c中聲明如下的函數代碼段時&#xff0c;不會進行隱式的轉換。 double add(); int main(){double s add(1,2);return 0; } double add(double a,double b){return ab; } 在調用add時&#xff0c;main中為它提供了兩個參數&#xff0c;看起來可以被轉換成double類型。然而…

昇思25天學習打卡營第7天之二 | 模型保存與加載

1. 保存與加載 在訓練網絡模型的過程中&#xff0c;實際上我們希望保存中間和最后的結果&#xff0c;用于微調&#xff08;fine-tune&#xff09;和后續的模型推理與部署&#xff0c;本章節我們將介紹如何保存與加載模型。 1.1 導入依賴 # 導入numpy庫&#xff0c;并將其重命…

六月,允許自己做自己,別人做別人

今天結束后&#xff0c;2024 就過去一半了。 年初的規劃完成一半了嗎&#xff1f;如果沒有也沒關系&#xff0c;做你自己繼續前進。 家人來北京旅游&#xff0c;我累趴了 六月初&#xff0c;我搬家了&#xff0c;這次租了一整套房&#xff0c;是一個小倆居、還帶一個小閣樓。…

速盾:視頻cdn和網站cdn的相同點與不同點

CDN&#xff08;Content Delivery Network&#xff09;是一種分布式網絡架構&#xff0c;旨在為用戶提供高效、高質量的內容傳送服務。CDN主要通過將內容分發到全球各地的邊緣節點&#xff0c;并根據用戶的地理位置選擇最近的節點來提供內容&#xff0c;從而加速內容的傳輸并降…

【高考志愿】儀器科學與技術

目錄 一、專業介紹 1.1 專業概述 1.2 專業方向 1.3 主要課程 二、專業技能與素質培養 三、就業前景 四、個人發展規劃建議 五、儀器科學與技術專業排名 六、總結 一、專業介紹 1.1 專業概述 儀器科學與技術專業是一門綜合性極強的學科&#xff0c;它融合了測量、控制…