當前位置:首頁 » 操作系統 » linuxbg

linuxbg

發布時間: 2022-04-21 14:52:56

1. linux下bg命令控制台輸出問題

猜對啦,你提出了一種解決方案呢
linux下,解決方法有好多種呢,都解決的
總之,linux下,就是要動腦子呢
好多時候別人的答案未必就有你的好呢
一起加油!

2. linux操作系統建立用戶,建立WORD文檔,與表格文件的具體步驟

Linux是一個多用戶多任務的操作系統。多用戶是指多個用戶可以在同一時間使用計算機系統;多任務是指Linux可以同時執行幾個任務,它可以在還未執行完一個任務時又執行另一項任務。

操作系統管理多個用戶的請求和多個任務。大多數系統都只有一個CPU和一個主存,但一個系統可能有多個二級存儲磁碟和多個輸入/輸出設備。操作系統管理這些資源並在多個用戶間共享資源,當您提出一個請求時,給您造成一種假象,好象系統只被您獨自佔用。而實際上操作系統監控著一個等待執行的任務隊列,這些任務包括用戶作業、操作系統任務、郵件和列印作業等。操作系統根據每個任務的優先順序為每個任務分配合適的時間片,每個時間片大約都有零點幾秒,雖然看起來很短,但實際上已經足夠計算機完成成千上萬的指令集。每個任務都會被系統運行一段時間,然後掛起,系統轉而處理其他任務;過一段時間以後再回來處理這個任務,直到某個任務完成,從任務隊列中去除。

一,進程及作業
Linux系統上所有運行的東西都可以稱之為一個進程。每個用戶任務、每個系統管理守護進程,都可以稱之為進程。Linux用分時管理方法使所有的任務共同分享系統資源。我們所關心的是如何去控制這些進程,讓它們能夠很好地為用戶服務。

進程的一個比較正式的定義是∶在自身的虛擬地址空間運行的一個單獨的程序。進程與程序是有區別的,進程不是程序,雖然它由程序產生。程序只是一個靜態的指令集合,不佔系統的運行資源;而進程是一個隨時都可能發生變化的、動態的、使用系統運行資源的程序。而且一個程序 可以啟動多個進程。

進程和作業的概念也有區別。一個正在執行的進程稱為一個作業,而且作業可以包含一個或多個進程,尤其是當使用了管道和重定向命令。

作業控制指的是控制正在運行的進程的行為。比如,用戶可以掛起一個進程,等一會兒再繼續執行該進程。shell將記錄所有啟動的進程情況,在每個進程過程中,用戶可以任意地掛起進程或重新啟動進程。作業控制是許多shell(包括bash和tcsh)的一個特性,使用戶能在多個獨立 作業間進行切換。

例如,當用戶編輯一個文本文件,並需要中止編輯做其他事情時,利用作業控制,用戶可以讓編輯器暫時掛起,返回shell提示符開始做其他的事情。其他事情做完以後,用戶可以重新啟動掛起的編輯器,返回到剛才中止的地方,就象用戶從來沒有離開編輯器一樣。這只是一個例子,作業控制還有許多其他實際的用途。

二,啟動進程
鍵入需要運行的程序的程序名,執行一個程序,其實也就是啟動了一個進程。在Linux系統中每個進程都具有一個進程號,用於系統識別和調度進程。啟動一個進程有兩個主要途徑∶手工啟動和調度啟動,後者是事先進行設置,根據用戶要求自行啟動。

1,手工啟動
由用戶輸入命令,直接啟動一個進程便是手工啟動進程。但手工啟動進程又可以分為前台啟動和後台啟動。

前台啟動是手工啟動一個進程的最常用的方式。一般地,用戶鍵入一個命令「ls -l」,這就已經啟動了一個進程,而且是一個前台的進程。這時候系統其實已經處於一個多進程狀態。或許有些用戶會疑惑∶我只啟動了一個進程而已。但實際上有許多運行在後台的、系統啟動時就已經自動啟動的進程正在悄悄運行著。還有的用戶在鍵入「ls -l」命令以後趕緊使用 「ps -x」查看,卻沒有看到ls進程,也覺得很奇怪。其實這是因為ls這個進程結束太快,使用ps查看時該進程已經執行結束了。

直接從後台手工啟動一個進程用得比較少一些,除非是該進程甚為耗時,且用戶也不急著需要結果的時候。假設用戶要啟動一個需要長時間運行的格式化文本文件的進程。為了不使整個shell在格式化過程中都處於「癱瘓」狀態,從後台啟動這個進程是明智的選擇。

2,調度啟動
有時候需要對系統進行一些比較費時而且佔用資源的維護工作,這些工作適合在深夜進行,這時候用戶就可以事先進行調度安排,指定任務運行的時間或者場合,到時候系統會自動完成這一切工作。要使用自動啟動進程的功能,就需要掌握以下幾個啟動命令。

第一個重要的命令是at命令
用戶使用at命令在指定時刻執行指定的命令序列。也就是說,該命令至少需要指定一個命令、一個執行時間才可以正常運行。at命令可以只指定時間,也可以時間和日期一起指定。需要注意的是,指定時間有個系統判別問題。比如說∶用戶現在指定了一個執行時間∶凌晨3:20,而發出at命令的時間是頭天晚上的20:00,那麼究竟是在哪一天執行該命令呢?如果用戶在3:20以前仍然在工作,那麼該命令將在這個時候完成;如果用戶3:20以前就退出了工作狀態,那麼該命令將在第二天凌晨才得到執行。下面是at命令的語法格式∶

at [-V] [-q 隊列] [-f 文件名] [-mldbv] 時間

at -c 作業 [作業...]

at允許使用一套相當復雜的指定時間的方法,它可以接受在當天的 hh:mm(小時:分鍾)式的時間指定。如果該時間已經過去,那麼就放在第二天執行。當然也可以使用 midnight(深夜), noon (中午), teatime(飲茶 時間,一般是下午 4點)等比較模糊的詞語來指定時間。用戶還可以採用12小時計時 制,即在時間後面加上AM (上午)或者 PM (下午)來說明是上午還是下午。也可以指定命令執行的具體日期,指定格式為 month day (月 日)或者 mm/dd/yy(月/日/年)或者 dd.mm.yy (日.月.年)。指定的日期必須跟在指定時間的後面。

上面介紹的都是絕對計時法,其實還可以使用相對計時法,這對於安排不久就要執行的命令是很有好處的。指定格式為∶now + count time-units ,now就是當前時間,time-units是時間單位,這里可以是 minutes(分鍾)、hours(小時)、days(天)、weeks(星期)。count是時間的數量,究竟是幾天,還是幾小時,等等。

還有一種計時方法就是直接使用today(今天)、tomorrow(明天)來指定完成命令的時間。下面通過一些例子來說明具體用法。

[例] 指定在今天下午 5:30 執行某命令。假設現在時間是中午12:30,2001年2月24日,其命令格式如下∶

at 5:30pm

at 17:30

at 17:30 today

at now + 5 hours

at now + 300 minutes

at 17:30 24.2.99

at 17:30 2/24/99

at 17:30 Feb 24

以上這些命令表達的意義是完全一樣的,所以在安排時間的時候完全可以根據個人喜好和具體情況自由選擇。一般採用絕對時間的24小時計時法可以避免由於用戶自己的疏忽造成計時錯誤的情況發生,例如上例可以寫成∶

at 17:30 2/24/99

這樣非常清楚,而且別人也看得懂。

對於at命令來說,需要定時執行的命令是從標准輸入或者使用-f選項指定的文件中讀取並執行的。如果at命令是從一個使用su命令切換到用戶shell中執行的,那麼當前用戶被認為是執行用戶,所有的錯誤和輸出結果都會送給這個用戶。但是如果有郵件送出的話,收到郵件的將是原來的用戶,也就是登錄時shell的所有者。在7月31日上午10點執行文件work中的作業。

在任何情況下,超級用戶都可以使用這個命令。對於其他用戶來說,是否可以使用就取決於兩個文件∶ /etc/at.allow 和 /etc/at.deny 。

cron命令
前面介紹的兩條命令都會在一定時間內完成一定任務,但是要注意它們都只能 執行一次。也就是說,當指定了運行命令後,系統在指定時間完成任務,一切就結束了。但是在很多時候需要不斷重復一些命令,比如∶某公司每周一自動向員工報告頭一周公司的活動情況,這時候就需要使用cron命令來完成任務了。實際上,cron命令是不應該手工啟動的。cron命令在系統啟動時就由一個shell腳本自動啟動,進入後台(所以不需要使用&符號)。一般的用戶沒有運行該命令的許可權,雖然超級用戶可以手工啟動cron,不過還是建議將其放到shell腳本中由系統自行啟動。

首先cron命令會搜索/var/spool/cron目錄,尋找以/etc/passwd文件中 的用戶名命名的crontab文件,被找到的這種文件將載入內存。例如一個用戶名為foxy的用戶,它所對應的crontab文件就應該是/var/spool/cron/foxy。也就是說,以該用戶命名的crontab文件存放在/var/spool/cron目錄下面。cron命令還將搜索/etc/crontab文件,這個文件是用不同的格式寫成的。cron啟動以後,它將首先檢查是否有用戶設置了crontab文件,如果沒有就轉入「休眠」狀態,釋放系統資源。所以該後台進程佔用資源極少。它每分鍾「醒」過來一次,查看當前是否有需要運行的命令。命令執行結束後,任何輸出都將作為郵件發送給crontab的所有者,或者是/etc/crontab文件中MAILTO環境變數中指定的用戶。上面簡單介紹了一些cron的工作原理,但是cron命令的執行不需要用戶干涉;需要用戶修改的是crontab中要執行的命令序列,所以下面介紹crontab命令。

crontab命令
crontab命令用於安裝、刪除或者列出用於驅動cron後台進程的表格。也就是 說,用戶把需要執行的命令序列放到crontab文件中以獲得執行。每個用戶都可以有自己的crontab文件。下面就來看看如何創建一個crontab文件。在/var/spool/cron下的crontab文件不可以直接創建或者直接修改。crontab文件是通過crontab命令得到的。現在假設有個用戶名為foxy,需要創建自己的一個crontab文件。首先可以使用任何文本編輯器建立一個新文件,然後向其中寫入需要運行的命令和要定期執行的時間。然後存檔退出。假設該文件為/tmp/test.cron。再後就是使用crontab命令來安裝這個文件,使之成為該用戶的crontab文件。鍵入∶crontab test.cron。

這樣一個crontab 文件就建立好了。可以轉到/var/spool/cron目錄下面查看,發現多了一個foxy文件。這個文件就是所需的crontab文件。

在crontab文件中如何輸入需要執行的命令和時間。該文件中每行都包括六個 域,其中前五個域是指定命令被執行的時間,最後一個域是要被執行的命令。每個域之間使用空格或者製表符分隔。格式如下∶

minute hour day-of-month month-of-year day-of-week commands

第一項是分鍾,第二項是小時,第三項是一個月的第幾天,第四項是一年的第幾個月,第五項是一周的星期幾,第六項是要執行的命令。這些項都不能為空,必須填入。如果用戶不需要指定其中的幾項,那麼可以使用*代替。因為*是統配符,可以代替任何字元,所以就可以認為是任何時間,也就是該項被忽略了。

進程的掛起及恢復命令bg、fg
作業控制允許將進程掛起並可以在需要時恢復進程的運行,被掛起的作業恢復 後將從中止處開始繼續運行。只要在鍵盤上按ctrl+z,即可掛起當前的前台作業。 在鍵盤上按ctrl+z後,將掛起當前執行的命令cat。使用jobs命令可以顯示 shell的作業清單,包括具體的作業、作業號以及作業當前所處的狀態。恢復進程執行時,有兩種選擇∶用fg命令將掛起的作業放回到前台執行;用bg命令將掛起的作業放到後台執行。 靈活使用上述命令,將給自己帶來很大的方便。

進程查看
由於Linux是個多用戶系統,有時候也要了解其他用戶現在在干什麼,同時 Linux是一個多進程系統,經常需要對這些進程進行一些調配和管理;而要進行管理,首先就要知道現在的進程情況∶究竟有哪些進程?進程情況如何?等等。所以需要進程查看方面的工作。

who命令
該命令主要用於查看當前在線上的用戶情況。這個命令非常有用。如果用戶想 和其他用戶建立即時通訊,比如使用talk命令,那麼首先要確定的就是該用戶確實在線上,不然talk進程就無法建立起來。又如,系統管理員希望監視每個登錄的用戶此時此刻的所作所為,也要使用who命令。who命令應用起來非常簡單,可以比較准確地掌握用戶的情況,所以使用非常廣泛。

w命令
該命令也用於顯示登錄到系統的用戶情況,但是與who不同的是,w命令功能更 加強大,它不但可以顯示有誰登錄到系統,還可以顯示出這些用戶當前正在進行的工作,並且統計數據相對who命令來說更加詳細和科學,可以認為w命令就是who命令的一個增強版。w命令的顯示項目按以下順序排列∶當前時間,系統啟動到現在的時間,登錄用戶的數目,系統在最近1秒、5秒和15秒的平均負載。然後是每個用戶的各項數據,項目顯示順序如下∶登錄帳號、終端名稱、遠程主機名、登錄時間、空閑時間、JCPU、PCPU、當前正在運行進程的命令行。其中JCPU時間指的是和該終端(tty)連接的所有進程佔用的時間。這個時間里並不包括過去的後台作業時間,但卻包括當前正在運行的後台作業所佔用的時間。而PCPU時間則是指當前進程(即在WHAT項中顯示的進程)所佔用的時間。

ps命令
ps命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵屍、哪些進程佔用了過多的資源等等。總之大部分信息都是可以通過執行該命令得到的。

ps命令最常用的還是用於監控後台進程的工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設備進行通信的,所以如果需要檢測其情況,便可以使用ps命令了。

ps [選項]
下面對命令選項進行說明∶

-e顯示所有進程。

-f全格式。

-h不顯示標題。

-l長格式。

-w寬輸出。

a顯示終端上的所有進程,包括其他用戶的進程。

r只顯示正在運行的進程。

x顯示沒有控制終端的進程。

O[+|-] k1 [,[+|-] k2 [,…]] 根據SHORT KEYS、k1、k2中快捷鍵指定的多 級排序順序顯示進程列表。對於ps的不同格式都存在著默認的順序指定。這些默 認順序可以被用戶的指定所覆蓋。其中「+」字元是可選的,「-」字元是倒轉指 定鍵的方向。

最常用的三個參數是u、a、x.

top命令
top命令和ps命令的基本作用是相同的,顯示系統當前的進程和其他狀況;但是top是一個動態顯示過程,即可以通過用戶按鍵來不斷刷新當前狀態。如果在前台執行該命令,它將獨占前台,直到用戶終止該程序為止。比較准確的說,top命令提供了實時的對系統處理器的狀態監視。它將顯示系統中CPU最「敏感」的任務列表。該命令可以按CPU使用。內存使用和執行時間對任務進行排序;而且該命令的很多特性都可以通過互動式命令或者在個人定製文件中進行設定。

三,進程調度
當需要中斷一個前台進程的時候,通常是使用Ctrl+c組合鍵;但是對於一個 後台進程恐怕就不是一個組合鍵所能解決的了,這時就必須求助於kill命令。該命令可以終止後台進程。至於終止後台進程的原因很多,或許是該進程佔用的CPU時間過多;或許是該進程已經掛死。總之這種情況是經常發生的。

kill命令是通過向進程發送指定的信號來結束進程的。如果沒有指定發送信號,那麼默認值為TERM信號。TERM信號將終止所有不能捕獲該信號的進程。至於那些可以捕獲該信號的進程可能就需要使用kill(9)信號了,該信號是不能被捕捉的。

kill命令的語法格式很簡單,大致有以下兩種方式∶

kill [-s 信號 | -p ] [ -a ] 進程號 ...

kill -l [信號]

3. 如何在後台啟動Linux命令和在終端分離進程

在後台運行 Linux 命令
你可以通過輸入 jobs 查看所有的後台任務。但是,標准輸入(STDIN)、標准輸出(STDOUT)和標准錯誤(STDERR)依舊摻雜到控制台中。
$ tar -czf home.tar.gz .
$ bg
$ jobs

在後台開始一個 Linux 進程
你也可以直接使用符號 & 在後台運行一個進程:
$ tar -czf home.tar.gz . &
$ jobs

運行在後台的 Linux 進程信息
看一下下面的這個例子,雖然 tar 命令是作為一個後台任務開始的,但是錯誤信息依舊發送到終端,這表示,進程依舊和控制終端關聯在一起。
$ tar -czf home.tar.gz . &
$ jobs

退出控制台之後,保持 Linux 進程的運行
我們將使用 disown 命令,它在一個進程已經運行並且被放在後台之後使用,它的作用是從 shell 的活動任務列表中移走一個 shell 任務,因此,對於該任務,你將再也不能使用 fg 、 bg 命令了。而且,當你關閉控制控制終端,這個任務將不會掛起(暫停)或者向任何一個子任務發送 SIGHUP 信號。
關閉終端之後,保持 Linux 進程運行
讓我們看一下先下面的這個使用 bash 中內置命令 disown的例子。
$ sudo rsync Templates/* /var/www/html/files/ &
$ jobs
$ disown -h %1
$ jobs

關閉 shell 之後把 Linux 進程置於後台
你也可以使用 nohup 命令,這個命令也可以在用戶退出 shell 之後保證進程在後台繼續運行。
$ nohup tar -czf iso.tar.gz Templates/* &
$ jobs

從控制終端脫離一個 Linux 進程
為了徹底從控制終端脫離一個程序,對於圖形用戶界面 (GUI) 的程序例如 firefox 來說,使用下面的命令行格式會更有效:
$ firefox </dev/null &>/dev/null &

在 Linux 上,/dev/null 是一個特殊的文件設備,它會忽略所有的寫在它上面的數據,上述命令,輸入來源和輸出發送目標都是 /dev/null。
作為結束陳述,運行一個連接到控制終端的進程,作為用戶你將會在你的終端上看到這個進程數據的許多行的輸出,也包含錯誤信息。同樣,當你關閉一個控制終端,你的進程和子進程都將會終止。

4. 怎麼在linux伺服器上運行程序

方法有很多,這里主要列舉兩種。假如要使pso在linux伺服器後台執行。當客戶端關機後重新登入伺服器後繼續查看本來在終端輸出的運行結果。
# ./pso > pso.file & #直接在命令後加上&即可
解釋:將pso直接放在後台運行,並把終端輸出存放在當前目錄下的pso.file文件中。當客戶端關機後重新登陸伺服器後,直接查看pso.file文件就可看執行結果(命令:#cat pso.file )。
有些程序即使使用 & 結尾,如果終端關閉,那麼程序也會被關閉。為了能夠使程序能始終在後台運行,需要使用nohup這個命令。
方法2在終端輸入命令:
# nohup ./pso > pso.file &
解釋:nohup就是不掛起的意思,將pso直接放在後台運行,並把終端輸出存放在當前目錄下的pso.file文件中。當客戶端關機後重新登陸伺服器後,直接查看pso.file文件就可看執行結果(命令:#cat pso.file )。
三、常用任務管理命令
# jobs //查看任務,返回任務編號n和進程號
# bg %n //將編號為n的任務轉後台運行
# fg %n //將編號為n的任務轉前台運行
# ctrl+z //掛起當前任務
# ctrl+c //結束當前任務
# tail -f logs.txt //可以實時查看日誌文件
註:如果要使在前台執行任務放到後台運行,則先要用ctrl+z掛起該任務,然後用bg使之後台執行。

5. linux終端中如何終止所有top的進程

linux
任務管理-後台運行與終止fg、bg、jobs、&、ctrl
+
z命令一、
&加在一個命令的最後,可以把這個命令放到後台執行
,如gftp
&,二、ctrl
+
z可以將一個正在前台執行的命令放到後台,並且處於暫停狀態,不可執行
三、jobs查看當前有多少在後台運行的命令jobs
-l選項可顯示所有任務的PID,jobs的狀態可以是running,
stopped,
Terminated,但是如果任務被終止了(kill),shell
從當前的shell環境已知的列表中刪除任務的進程標識;也就是說,jobs命令顯示的是當前shell環境中所起的後台正在運行或者被掛起的任務信息;四、fg將後台中的命令調至前台繼續運行如果後台中有多個命令,可以用
fg
%jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)五、bg將一個在後台暫停的命令,變成繼續執行
(在後台執行)如果後台中有多個命令,可以用bg
%jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)將任務轉移到後台運行:先ctrl
+
z;再bg,這樣進程就被移到後台運行,終端還能繼續接受命令。概念:當前任務如果後台的任務號有2個,[1],[2];如果當第一個後台任務順利執行完畢,第二個後台任務還在執行中時,當前任務便會自動變成後台任務號碼「[2]」
的後台任務。所以可以得出一點,即當前任務是會變動的。當用戶輸入「fg」、「bg」和「stop」等命令時,如果不加任何引號,則所變動的均是當前任務進程的終止後台進程的終止:方法一:通過jobs命令查看job號(假設為num),然後執行kill
%num方法二:通過ps命令查看job的進程號(PID,假設為pid),然後執行kill
pid前台進程的終止:ctrl+ckill的其他作用kill除了可以終止進程,還能給進程發送其它信號,使用kill
-l
可以察看kill支持的信號。SIGTERM是不帶參數時kill發送的信號,意思是要進程終止運行,但執行與否還得看進程是否支持。如果進程還沒有終止,可以使用kill
-SIGKILL
pid,這是由內核來終止進程,進程不能監聽這個信號。進程的掛起後台進程的掛起:在solaris中通過stop命令執行,通過jobs命令查看job號(假設為num),然後執行stop
%num;在redhat中,不存在stop命令,可通過執行命令kill
-stop
PID,將進程掛起;當要重新執行當前被掛起的任務時,通過bg
%num
即可將掛起的job的狀態由stopped改為running,仍在後台執行;當需要改為在前台執行時,執行命令fg
%num即可;前台進程的掛起:ctrl+Z;

6. linux中help bg是什麼意思

其中了解一下:
Linux中bg命令是將程序轉化為後台的一個命令。
我沒有看見過help
bg的,如果要使用bg的幫助系統的話,使用:
man
bg就行了~~

7. 在Linux中,如何設置前、後台命令和程序的執行

命令後直接加 & ,這個命令就在後台執行;
正在運行的命令,使用 Ctrl+z ,就掛起;
jobs命令,可以現實後台,包括掛起的命令;
使用 bg %作業號 就可以把掛起的命令在後台執行;
使用 fg %作業號 就可以把後台命令調到前台

你應該買個linux的基礎教程。我二手市場上買了個,很厚的正版書,很便宜,受益匪淺。

熱點內容
數控編程輕松 發布:2024-11-16 22:23:38 瀏覽:813
能緩存老友記的播放器 發布:2024-11-16 22:22:16 瀏覽:479
python寫入文件字典 發布:2024-11-16 22:21:14 瀏覽:14
androidandbase 發布:2024-11-16 22:16:34 瀏覽:417
phpifecho 發布:2024-11-16 21:57:11 瀏覽:723
android動態載入布局 發布:2024-11-16 21:37:54 瀏覽:799
php判斷ip 發布:2024-11-16 21:07:03 瀏覽:739
有看頭密碼怎麼改 發布:2024-11-16 20:57:39 瀏覽:327
A有語法錯誤不能編譯 發布:2024-11-16 20:49:17 瀏覽:948
廚房需要配置什麼噴淋頭 發布:2024-11-16 20:39:02 瀏覽:298