溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux的程序怎么管理

發(fā)布時(shí)間:2021-08-11 10:34:05 來源:億速云 閱讀:134 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“Linux的程序怎么管理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Linux的程序怎么管理”吧!

程序與程序 (process & program)
  • 程序 (program):通常為 binary program ,放置在儲(chǔ)存媒體中 (如硬盤、光盤、軟 盤、磁帶等), 為實(shí)體文件的型態(tài)存在;

  • 程序 (process):程序被觸發(fā)后,執(zhí)行者的權(quán)限與屬性、程序的程序碼與所需數(shù)據(jù)等都 會(huì)被載入內(nèi)存中, 操作系統(tǒng)并給予這個(gè)內(nèi)存內(nèi)的單元一個(gè)識(shí)別碼 (PID),可以說,程 序就是一個(gè)正在運(yùn)行中的程序。

工作管理 (job control)
  • 直接將指令丟到背景中“執(zhí)行”的 &

tar -zpcvf /tmp/etc.tar.gz /etc &
  • 將“目前”的工作丟到背景中“暫停”:[ctrl]-z

想個(gè)情況:如果我正在使用 vim ,卻發(fā)現(xiàn)我有個(gè)文件不知道放在哪里,需要到 bash 環(huán)境下進(jìn) 行搜尋,此時(shí)是否要結(jié)束 vim 呢?呵呵!當(dāng)然不需要??!只要暫時(shí)將 vim 給他丟到背景當(dāng)中 等待即可。 例如以下的案例:

[root@study ~]# vim ~/.bashrc

# 在 vim 的一般模式下,按下 [ctrl]-z 這兩個(gè)按鍵

[1]+ Stopped vim ~/.bashrc
[root@study ~]# <==順利取得了前景的操控權(quán)!
[root@study ~]# find / -print
....(輸出省略)....

# 此時(shí)屏幕會(huì)非常的忙碌!因?yàn)槠聊簧蠒?huì)顯示所有的文件名。請按下 [ctrl]-z 暫停

[2]+ Stopped find / -print
  • 觀察目前的背景工作狀態(tài): jobs

  • 將背景工作拿到前景來處理:fg

  • 讓工作在背景下的狀態(tài)變成運(yùn)行中: bg

  • 管理背景當(dāng)中的工作: kill

離線管理問題

要注意的是,我們在工作管理當(dāng)中提到的“背景”指的是在終端機(jī)模式下可以避免 [crtl]-c 中斷 的一個(gè)情境, 你可以說那個(gè)是 bash 的背景,并不是放到系統(tǒng)的背景去喔!所以,工作管理 的背景依舊與終端機(jī)有關(guān)啦! 在這樣的情況下,如果你是以遠(yuǎn)端連線方式連接到你的 Linux 主機(jī),并且將工作以 & 的方式放到背景去, 請問,在工作尚未結(jié)束的情況下你離線了,該工 作還會(huì)繼續(xù)進(jìn)行嗎?答案是“否”!不會(huì)繼續(xù)進(jìn)行,而是會(huì)被中斷掉。 那怎么辦?如果我的工作需要進(jìn)行一大段時(shí)間,我又不能放置在背景下面,那該如何處理 呢? 首先,你可以參考前一章的 at 來處理即可!因?yàn)?at 是將工作放置到系統(tǒng)背景, 而與終 端機(jī)無關(guān)。如果不想要使用 at 的話,那你也可以嘗試使用 nohup 這個(gè)指令來處理喔!這個(gè) nohup 可以讓你在離線或登出系統(tǒng)后,還能夠讓工作繼續(xù)進(jìn)行。他的語法有點(diǎn)像這樣:

# 1\. 先編輯一支會(huì)“睡著 500 秒”的程序:
[root@study ~]# vim sleep500.sh
#!/bin/bash
/bin/sleep 500s
/bin/echo "I have slept 500 seconds."
# 2\. 丟到背景中去執(zhí)行,并且立刻登出系統(tǒng):
[root@study ~]# chmod a+x sleep500.sh
[root@study ~]# nohup ./sleep500.sh &
[2] 14812
[root@study ~]# nohup: ignoring input and appending output to `nohup.out' <==會(huì)告知這個(gè)訊息!
[root@study ~]# exit
程序管理
  • ps :將某個(gè)時(shí)間點(diǎn)的程序運(yùn)行情況擷取下來

  • 觀察系統(tǒng)所有程序: ps aux

  • top:動(dòng)態(tài)觀察程序的變化

  • pstree

到此,相信大家對“Linux的程序怎么管理”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI