導航:首頁 > 操作系統 > linuxhup

linuxhup

發布時間:2023-03-27 13:11:11

『壹』 linux命令裡面的nohup命令和 & 是一個意思嗎不掛斷是什麼意思

場景:
如果只是臨時有一個命令需要長時間運行,什麼方法能最簡便的保證它在後台穩定運行呢?

hangup 名稱的來由
在 Unix 的早期版本中,每個終端都會通過 modem 和系統通訊。當用戶 logout 時,modem 就會掛斷(hang up)電話。 同理,當 modem 斷開連接時,就會給終端發送 hangup 信號來通知其關閉所有子進程。
解決方法:
我們知道,當用戶注銷(logout)或者網路斷開時,終端會收到 HUP(hangup)信號從而關閉其所有子進程。因此,我們的解決辦法就有兩種途徑:要麼讓進程忽略 HUP 信號,要麼讓進程運行在新的會話里從而成為不屬於此終端的子進程。

1. nohup
nohup 無疑是我們首先想到的辦法。顧名思義,nohup 的用途就是讓提交的命令忽略 hangup 信號。讓我們先來看一下 nohup 的幫助信息:
NOHUP(1) 芹局 User Commands NOHUP(1)

NAME
nohup - run a command immune to hangups, with output to a non-tty

SYNOPSIS
nohup COMMAND [ARG]...
nohup OPTION

DESCRIPTION
Run COMMAND, ignoring hangup signals.

--help display this help and exit

--version
output version information and exit

可見,nohup 的使用是十分方便的,只需在要處理的命令前加上 nohup 即可,標准輸出和標准錯誤預設會被重定向到 nohup.out 文件中。一般我們可在結尾加上"&"來將命令同時放入後台運行,也可用">filename 2>&1"來更改預設的重定向文件名。
nohup 示例
[root@pvcent107 ~]# nohup ping www.ibm.com &
[1] 3059
nohup: appending output to `nohup.out'
[root@pvcent107 ~]# ps -ef |grep 3059
root 3059 984 0 21:06 pts/3 00:00:00 ping www.ibm.com
root 3067 984 0 21:06 pts/3 00:00:00 grep 3059
[root@pvcent107 ~]#

2。setsid
nohup
無疑能通過忽略 HUP 信號來使我們的進程避免中途被中斷,但如果我們換個角度思考,如果我們的進程不屬於接受 HUP
信號的終端的子進程,那麼自然也就不會受到 HUP 信號的影響了。setsid 就能幫助我們做到這一點。讓我們先來看一下 setsid
的幫助信息:
SETSID(8) Linux Programmer』s Manual SETSID(8)

NAME
setsid - run a program in a new session

SYNOPSIS
setsid program [ arg ... ]

DESCRIPTION
setsid runs a program in a new session.

可見 setsid 的使用也是非常方便的,也只需在要處理的命令前加上 setsid 即可。
setsid 示例
[root@pvcent107 ~]# setsid ping www.ibm.com
[root@pvcent107 ~]# ps -ef |grep www.ibm.com
root 31094 1 0 07:28 ? 00:00:00 ping www.ibm.com
root 31102 29217 0 07:29 pts/4 00:00:00 grep www.ibm.com
[root@pvcent107 ~]#

值得注意的是,上例中我們的進程 ID(PID)為31094,而它的父 ID(PPID)為1(即為 init 進程 ID),並不是當前終端的進差塌程 ID。請將此例與nohup 例中的父 ID 做比較。
3。&
這里還有一個關於嫌慶讓 subshell 的小技巧。我們知道,將一個或多個命名包含在「()」中就能讓這些命令在子 shell 中運行中,從而擴展出很多有趣的功能,我們現在要討論的就是其中之一。
當我們將"&"也放入「()」內之後,我們就會發現所提交的作業並不在作業列表中,也就是說,是無法通過jobs來查看的。讓我們來看看為什麼這樣就能躲過 HUP 信號的影響吧。
subshell 示例
[root@pvcent107 ~]# (ping www.ibm.com &)
[root@pvcent107 ~]# ps -ef |grep www.ibm.com
root 16270 1 0 14:13 pts/4 00:00:00 ping www.ibm.com
root 16278 15362 0 14:13 pts/4 00:00:00 grep www.ibm.com
[root@pvcent107 ~]#

從上例中可以看出,新提交的進程的父 ID(PPID)為1(init 進程的 PID),並不是當前終端的進程 ID。因此並不屬於當前終端的子進程,從而也就不會受到當前終端的 HUP 信號的影響了。
回頁首
disown
場景:
我們已經知道,如果事先在命令前加上 nohup 或者 setsid 就可以避免 HUP 信號的影響。但是如果我們未加任何處理就已經提交了命令,該如何補救才能讓它避免 HUP 信號的影響呢?

解決方法:
這時想加 nohup 或者 setsid 已經為時已晚,只能通過作業調度和 disown 來解決這個問題了。讓我們來看一下 disown 的幫助信息:

disown [-ar] [-h] [jobspec ...]
Without options, each jobspec is removed from the table of
active jobs. If the -h option is given, each jobspec is not
removed from the table, but is marked so that SIGHUP is not
sent to the job if the shell receives a SIGHUP. If no jobspec
is present, and neither the -a nor the -r option is supplied,
the current job is used. If no jobspec is supplied, the -a
option means to remove or mark all jobs; the -r option without
a jobspec argument restricts operation to running jobs. The
return value is 0 unless a jobspec does not specify a valid
job.

可以看出,我們可以用如下方式來達成我們的目的。
靈活運用 CTRL-z

我們的日常工作中,我們可以用 CTRL-z 來將當前進程掛起到後台暫停運行,執行一些別的操作,然後再用 fg 來將掛起的進程重新放回前台(也可用
bg
來將掛起的進程放在後台)繼續運行。這樣我們就可以在一個終端內靈活切換運行多個任務,這一點在調試代碼時尤為有用。因為將代碼編輯器掛起到後台再重新放
回時,游標定位仍然停留在上次掛起時的位置,避免了重新定位的麻煩。
用disown -h jobspec來使某個作業忽略HUP信號。
用disown -ah 來使所有的作業都忽略HUP信號。
用disown -rh 來使正在運行的作業忽略HUP信號。
需要注意的是,當使用過 disown 之後,會將把目標作業從作業列表中移除,我們將不能再使用jobs來查看它,但是依然能夠用ps -ef查找到它。
但是還有一個問題,這種方法的操作對象是作業,如果我們在運行命令時在結尾加了"&"來使它成為一個作業並在後台運行,那麼就萬事大吉了,我們可以通過jobs命令來得到所有作業的列表。但是如果並沒有把當前命令作為作業來運行,如何才能得到它的作業號呢?答案就是用 CTRL-z(按住Ctrl鍵的同時按住z鍵)了!
CTRL-z 的用途就是將當前進程掛起(Suspend),然後我們就可以用jobs命令來查詢它的作業號,再用bg jobspec來將它放入後台並繼續運行。需要注意的是,如果掛起會影響當前進程的運行結果,請慎用此方法。
disown 示例1(如果提交命令時已經用「&」將命令放入後台運行,則可以直接使用「disown」)
[root@pvcent107 build]# cp -r testLargeFile largeFile &
[1] 4825
[root@pvcent107 build]# jobs
[1]+ Running cp -i -r testLargeFile largeFile &
[root@pvcent107 build]# disown -h %1
[root@pvcent107 build]# ps -ef |grep largeFile
root 4825 968 1 09:46 pts/4 00:00:00 cp -i -r testLargeFile largeFile
root 4853 968 0 09:46 pts/4 00:00:00 grep largeFile
[root@pvcent107 build]# logout

disown 示例2(如果提交命令時未使用「&」將命令放入後台運行,可使用 CTRL-z 和「bg」將其放入後台,再使用「disown」)
[root@pvcent107 build]# cp -r testLargeFile largeFile2

[1]+ Stopped cp -i -r testLargeFile largeFile2
[root@pvcent107 build]# bg %1
[1]+ cp -i -r testLargeFile largeFile2 &
[root@pvcent107 build]# jobs
[1]+ Running cp -i -r testLargeFile largeFile2 &
[root@pvcent107 build]# disown -h %1
[root@pvcent107 build]# ps -ef |grep largeFile2
root 5790 5577 1 10:04 pts/3 00:00:00 cp -i -r testLargeFile largeFile2
root 5824 5577 0 10:05 pts/3 00:00:00 grep largeFile2
[root@pvcent107 build]#


『貳』 Linux後台進程

引入的原因: 用於控制向多個進程進行信號的分發,發給一個進程組是信號會發生給進程組中每一個進程

會話是一個或者多個進程組的集合,進程調用 setsid 函數建立一個會話。
進程調用setsid函數建立一個新的會話,會發生下面幾件事

守護進程是生存期長的一種進程,沒有控制終端。他們常常在系統引導裝入時啟動,系統關閉是終止。守護進程程序通常以字母 d 結尾。
用戶層的守護進程的父進程是 init 進程。內核的守護進程並非init進程。

以 & 方式運行的為後台進程
比如: ping www..com &
通過 jobs 命令查看

將後台程序放到前台

通過 control+c 命名發送』hupinit『信號kill掉進程

終端被掛斷或者用戶注銷,SIGHUP信號會被發送到該終端相關的控製程序,而SIGHUP的默認行為是終止程序的運行。
需要實現終端退出後進程依然在後台運行,有兩種途徑

如果setid函數的進程就是一個進程組的組長,則函數會返回出錯。為了解決這樣情況,通常函數需要先fork,然後父進程退出,由子進程執行setsid。由於子進程繼承的是父進程的進程組ID,而其PID是新分配的ID,因此這兩者不可能相等,即子進程不可能是進程組的組長。 這種情況下,由於父進程先於子進程退出,因此子進程的父進程會有init進程接管。 而這就是sid命令的實現原理。
設置 setsid www..com
我們對比下和nohup

我們可以看到setsid的父進程變成了init進程。由於會話和父進程和shell無關了,因此無論如何shell都無法向該進程發送SIGHUP命令

『叄』 如何為「Linux命令」設置快捷鍵

Linux的一個特色就是其命令多而且功能強大, 頻繁輸入命令不僅麻煩而且工作量較大,雖然可以使用TAB進行>命令補足,或者使用aliase來簡化某個命令的輸入,但這並不能從根本上解決敲擊鍵盤次數過多的問題。x0dx0ax0dx0a可以把任何命令或命令的組合指定給鍵盤上的某個鍵,可以是Alt+[A-Z],x0dx0aCtrl-[A-Z], Alt+Shift+[A-Z], F1-F12, Ctrl-F[1-12], Alt-F[1-12], Alt+Shift+F[1-12],還有更不可思議的是甚至還可以為功能鍵加上「參數」,這樣你按下那個鍵的時候,它會等待你輸入相應的參數,並根據不同的參數運行不同的命令。x0dx0ax0dx0a當然,有一些熱鍵會被終端所捕獲,如常見的Ctrl-D/C/Q/Z等,不過沒關系,可用的熱鍵還多著呢!x0dx0ax0dx0a定義熱鍵的配置文件為:/etc/inputrc 或 ~/.inputrc,定義熱鍵的格式如下:x0dx0ax0dx0a"<熱鍵對應的ASCII字元>":"<執行的命令>"x0dx0ax0dx0a其中熱鍵對應的ASCII字元可以通過 "先按Ctrl-V, 然後按熱鍵" 的方式來輸入, 如Ctrl-G對應的字元為^G, Alt-P對應的字元為^[p, Ctrl-Alt-H對應的字元為^[^H.x0dx0ax0dx0a可以用/C來代替Ctrl,/M來代替Alt, /M-/C來代替Alt-Ctrl, 如/C-M = Ctrl-M, /M-/C-H = Alt-Ctrl-M. 另外還可以用/e代表^[.x0dx0ax0dx0a先來看一些基本的熱鍵定義,(這里熱鍵里的字母不區分大小寫):x0dx0a"^[-":"su -/C-M" # 按Alt+- 執行su - 命令,末尾/C-M表示輸入完定義的命令後回車,也可以更簡潔地用一個/n來表示.x0dx0ax0dx0a"/M-/C-G":"gaim & &>/dev/null && disown/C-M"x0dx0a# 按Ctrl-Alt-g在當前shell打開gaim, 並脫離該shell獨立運行,即:即使你退出了該shell, gaim也不會關閉x0dx0ax0dx0a其他一些組合鍵可以根據自己的需要配置,偶就不多說了.x0dx0ax0dx0a大家也許會覺得這樣定義熱鍵太亂了,而且很難記住,還有一定的限制。這個問題在後面會得到解決。x0dx0ax0dx0a一般情況下,我們可以使用上下方向鍵來查找命令歷史列表,以此重復輸入命令,但是方向鍵離主鍵盤區太遠,如>果頻繁使用的話,會耽誤不少時間,而且挪動右手時也不太方便,有沒有什麼辦法把方向鍵的功能轉移到我們經常>敲命令的地方呢?如使用Alt+J = Down Arrow 向下查找,Alt+K=Up Arrow 向下查找x0dx0ax0dx0a通過定義熱鍵可以做到這點:x0dx0ax0dx0a"/eh":"^[OD" # move leftx0dx0a# Alt-H 向左移一個字元, 相當於Left Arrowgh, 這里^[OD即向上方向鍵的ASCII字元,輸入方式與前面提到的類似x0dx0a"/el":"^[OC" # move rightx0dx0a# Alt-L 向右移一個字元,相當於Right Arrowx0dx0ax0dx0a"/ej":"^[OB" # move upx0dx0a# Alt-J 向下移動,相當於Up Arrowx0dx0ax0dx0a"/ek":"^[OA" # move downx0dx0a# Alt-K 向上移動,相當於Down Arrowx0dx0ax0dx0a"/ei":"^?" # left earse one characterx0dx0a# Alt-I 向左刪除一個字元,相當於Backspacex0dx0ax0dx0a"/eo":delete-char # right earse one characterx0dx0a# Alt-O 向右刪除一個字元,相當於Deletex0dx0ax0dx0a"/en":backward-kill-word # left kill one wordx0dx0a# Alt-N 向左刪除一個單詞x0dx0ax0dx0a"/em":kill-word # right kill one wordx0dx0a# Alt-M 向右刪除一個單詞x0dx0ax0dx0a"/ea":"^[n^[n^[n^[n^[n^[n^[n" # kill to the headx0dx0a# Alt-A 刪除當前位置到開頭,也就是多Alt-N幾次(A--> ahead)x0dx0ax0dx0a"/ee":"^[m^[m^[m^[m^[m^[m^[m" # kill to the headx0dx0a# Alt-E 刪除當前位置到末尾,也就是多Alt-M幾次(E--> end)x0dx0ax0dx0a"/ep": insert-last-argumem"x0dx0a# Alt-P 插入上一個命令最後一個參數 (P--> Paste)x0dx0ax0dx0a"/ew": forward-wordx0dx0a# 系統默認Alt-F (forward)跳到當前單詞詞尾,如果已在詞尾,則跳到下一個單詞(右邊一個單詞)詞尾x0dx0ax0dx0a"/eq": backward-wordx0dx0a# 系統默認Alt-B (backward)跳到當前單詞詞首,如果已在詞首,則跳到上一個單詞(左邊一個單詞)詞首x0dx0ax0dx0a發覺F和B鍵離得太遠,不方便,偶分別改作Alt-Q, Alt-W, 但是Alt-F/B照樣可以用x0dx0ax0dx0a這樣輸入命令的時候幾乎可以不用離開主鍵盤區,而且移動游標,刪除字元,刪除單詞,上下歷史命令查找都集中>在一塊,比以前方便多了。不過開始可能有些不習慣,就跟使用vi一樣,但是多練幾次就熟練了。x0dx0ax0dx0aLinux下絕大部分服務的配置是基於配置文件的,一般說來,更改了某個服務的配置文件,要使其立即生效,還需重啟該服務直接的或依附的守護進程才行。難道你就不覺得「每次 vi /etc/xxx.conf 完後又 service xxx restart/reload 或 killall -HUP xxx」這樣做很繁瑣么?如果要配置的服務較多而且要不停地調試呢?況且我們平常使用Linux時難免會不時地終止或啟動某個服務進程,輸入命令的次數也不少。如果為每個服務都指定一個熱鍵的話,似乎不大可能。如果我們賦予一個熱鍵為一個基本鍵,而相應的服務為其「參數」,那又如何呢?x0dx0ax0dx0a舉個例子,賦予Alt-S (S-->Start)為啟動服務的基本鍵,服務名的前2個字元為啟動「參數」,那麼就可以像下面那樣隨意啟動某個服務了:x0dx0a"/essm":"service smb start/n"x0dx0a# /es=Alt-s, sm=smb,x0dx0a# 即:按下Alt-s後緊跟著再輸入sm(這時輸入的sm並不會顯示在終端上),就可以啟動samba的服務進程了,不必擔心按下鍵與輸入「參數」間的時間延遲問題,你按下Alt-s,然後去外面兜一圈回來,再接著輸入sm,照樣可以。x0dx0ax0dx0a"/esht":"service httpd start/n" # ht=httpd,啟動Apache服務x0dx0ax0dx0a類似地,我們賦予x0dx0aAlt-D(D--> shutDown) 為停止服務的基本鍵x0dx0aAlt-R(R--> Restart) 為重啟服務的基本鍵x0dx0aAlt-T(T--> Status) 為查看服務狀態的基本鍵x0dx0aAlt-C(C--> Configure) 為打開服務對應的主配置文件的基本鍵x0dx0a如:"/ecnf":"vi /etc/exports/n" # Alt-c+nf 打開NFS的配置文件x0dx0a"/ecsm":"vi /etc/samba/smb.conf/n" # Alt-c+sm 打開smb的配置文件x0dx0ax0dx0a如果某個服務(如ssh)有2個配置文件,可以在其後再加一個數字,如:x0dx0a"/ecssh1":"vi /etc/ssh/sshd_config/n" # 打開sshd服務端配置文件x0dx0a"/ecssh2":"vi /etc/ssh/ssh_config/n" # 打開sshd客戶端配置文件x0dx0ax0dx0a如果要執行某個應用程序呢?可以用Alt-x做基本鍵(x--> eXeccute) 如:x0dx0a"/exga":"gaim & &>/dev/null && disown && clean /n"x0dx0a"/exxm":"xmms & &>/dev/null && disown && clean /n"x0dx0a"/exvm":"vmware & &>/dev/null && disown && clean /n" "/exna":"nautilus & &>/dev/null && disown && clean /n"x0dx0a等等....x0dx0ax0dx0a到現在為止我們只要按1個組合鍵+2個字元就可以實現下面眾多的功能:x0dx0a1. 執行指定的應用程序x0dx0a2. 啟動|重啟|關閉|指定的服務進程x0dx0a3. 查看指定服務的狀態x0dx0a4. 打開指定服務的指定配置文件

『肆』 在Linux系統中查看進程及殺死僵屍進程的方法

ps
命令
ps
命令就是最根本相應情況下也是相當強大地進程查看命令.運用該命令可以確定有哪些進程正在運行和運行地狀態、
進程
是否結束、進程有沒有僵死、哪些進程佔用了過多地資源等等.總之大部分信息均為可以通過執行該命令得到地.
ps
命令及其參數
ps
命令最經常使用地還是用於監控後台進程地工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設
備進行通信地,所以如果需要檢測其情況,便可以運用
ps
命令了.
該命令語法格式如下:
ps
[選項]
-e
顯示所有進程,環境變數
-f
全格式
-h
不顯示標題
-l
長格式
-w
寬輸出
a
顯示終端上地所有進程,包括其他用戶地進程
r
只顯示正在運行地進程
x
顯示沒有控制終端地進程
O[+|-]
k1
[,[+|-]
k2
[,…]]
根據
SHORT
KEYS、k1、k2
中快捷鍵指定地多級排序順序顯示進程列表.
對於
ps
地不同格式都存在著默認地順序指定.這些默認順序可以被用戶地指定所覆蓋.在這裡面“+”字元是可選地,“-”
字元是倒轉指定鍵地方向.
pids
只列出進程標識符,之間運用逗號分隔.該進程列表必須在命令行參數地最後一個選項後面緊接著給出,中間不能插入
空格.比如:ps
-f1,4,5.
以下介紹長命令行選項,這些選項都運用“--”開頭:
--sort
X[+|-]
key
[,[+|-]
key
[,…]]

SORT
KEYS
段中選一個多字母鍵.“+”字元是可選地,因為默認地方向就是按
數字升序或者詞典順序.比如:
ps
-jax
-sort=uid,-ppid,+pid.
--help
顯示幫助信息.
--version
顯示該命令地版本信息.
在前面地選項說明中提到了排序鍵,接下來對排序鍵作進一步說明.需要注意地是排序中運用地值是
ps
運用地內部值,並非
僅用於某些輸出格式地偽值.排序鍵列表見表
4-3.
排序鍵列表
c
cmd
可執行地簡單名稱
C
cmdline
完整命令行
f
flags
長模式標志
g
pgrp
進程地組
ID
G
tpgid
控制
tty
進程組
ID
j
cutime
累計用戶時間
J
cstime
累計系統時間
k
utime
用戶時間
K
stime
系統時間
m
min_flt
次要頁錯
查找Zombie進程
首先,當桌面程序卡死的時候,你可以嘗試進入其他tty終端。切換方式:ctrl
+
alt
+
[1,2,3,4,5,6,7],7是桌面終端
其次,你可以使用top命令查看當前是否有Zombie進程
從上圖可以看到僵屍進程數,num
zombie,num大於0,則代表系統存在僵屍進程
最後,利用ps命令查找Zombie進程
復制代碼
代碼如下:
ps
-A
-ostat,ppid,pid,cmd
|
grep
-e
'^[zZ]'
示例

殺死Zombie進程
直接kill
-9
Zombiepid是沒有作用的,原因是:Zombie表示進程已經退出,想要清理這樣的進程,需要清除其父進程或者等很長時間後內核將其清除
復制代碼
代碼如下:
kill
-HUP
ppid
後記
不知道為什麼我注銷之後重新登錄還有這個僵屍進程,懷疑是否是LightDM的bug,不過Ubuntu12.04
desktop
display
manager就是LightDM,所以kill
-HUP至少起到了注銷的作用,不用重啟了

『伍』 Linux幾種中斷信號的區別:HUP,INT,KILL,TERM,TSTP

Linux的HUP,INT,KILL,TERM,TSTP中斷信號區別為:鍵入不同、對應操作不同、啟用不同。

一、鍵入不同

1、HUP中斷信號:HUP中斷信號是當用戶鍵入<Ctrl+X>時由終端驅動程序發送的信號。

2、INT中斷信號:INT中斷信號是當用戶鍵入<Ctrl+I>時由終端驅動程序發送的信號。

3、KILL中斷信號:KILL中斷信號是當用戶鍵入<Ctrl+Z>時由終端驅動程序發送的信號。

4、TERM中斷信號:TERM中斷信號是當用戶鍵入<Ctrl+>時由終端驅動程序發送的信號。

5、TSTP中斷信號:TSTP中斷信號是當用戶鍵入<Ctrl+T>時由終端驅動程序發送的信號。二、對應操作不同

1、HUP中斷信號:HUP中斷信號的對應操作為讓進程掛起,睡眠。

2、INT中斷信號:INT中斷信號的對應操作為正常關閉所有進程。

3、KILL中斷信號:KILL中斷信號的對應操作為強制關閉所有進程。

4、TERM中斷信號:TERM中斷信號的對應操作為正常的退出進程。

5、TSTP中斷信號:TSTP中斷信號的對應操作為暫時停用進程。

三、啟用不同

1、HUP中斷信號:HUP中斷信號發送後,可以重新被用戶再次輸入恢復啟用進程。

2、INT中斷信號:INT中斷信號發送後,不可以重新被用戶再次輸入恢復啟用進程。

3、KILL中斷信號:KILL中斷信號發送後,不可以重新被用戶再次輸入恢復啟用進程。

4、TERM中斷信號:TERM中斷信號發送後,可以重新被用戶再次輸入啟用進程。

5、TSTP中斷信號:TSTP中斷信號發送後,可以重新被用戶再次輸入繼續使用進程。

『陸』 Linux中的kill -s命令的意思是可以發送指定的信號哈,但信號通常是:TREM和HUP等等

有-s,下面兩種寫法都對: kill -s 信號名 進程號 kill -信號名 進程號 Usage: kill pid ... Send SIGTERM to every process listed. kill signal pid ... Send a signal to every process listed. kill -s signal pid ... Send a signal to every process listed. kill -l List all signal names. kill -L List all signal names in a nice table. kill -l signal Convert between signal numbers and names. 通過kill -l 可以看到所有信號名

『柒』 linux怎麼查看硬體告警

想知道怎麼查看Linux中的硬體告警嗎?下面是我帶來的關於linux怎麼查看硬體告警的內容,歡迎閱讀!

Linux查看硬體告警 方法 一:

Linux系統擁有非常靈活和強大的日誌功能,可以保存幾乎所有的操作記錄,並可以從中檢索出需要的信息。

大部分Linux發行版默認的日誌守護進程為 syslog,位於 /etc/syslog 或 /etc/syslogd,默認配置文件為 /etc/syslog.conf,任何希望生成日誌的程序都可以向 syslog 發送信息

/sbin/syslogd

在修改syslog配置後,需要重新啟動syslogd守護進程才能使新的配置生效。其命令如下所示。

# killall -HUP syslogd

Red Hat Enterprise Linux 5.2安裝後默認就已經在syslog中定義了一些日誌文件。

說明

/var/log/message

系統啟動後液野的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一

/var/log/secure

與安全相關的日誌信息

/var/log/maillog

與郵件相關的日誌信息

/var/log/cron

與定時任務相關的日誌信息

/var/log/spooler

與UUCP和news設備相關的日誌信息

/var/log/boot.log

守護進程啟動和停止相關的日誌消息

Linux查看硬體告警方法二:

日誌作為普通的文本文件存儲在磁碟中,因此可以通過查看文件的命令來查看日誌。比如:通過tail命令查看日誌的最後10行,通過head命令查看命令的開頭10行。

日誌文件的默認存儲路徑是:/var/log

下面是幾個重要的日誌文件:

/var/log/messages:包括整體系統信息,其中也包含系統啟動期間的日誌。此外,還包括mail,cron,daemon,kern和auth等內容。

/var/log/syslog:它和/etc/log/messages日誌文件不同,它只記錄警告信息,常常是系統出問題的信息。

/var/log/user.log:記錄所有等級用戶信息的日誌。

/var/log/auth.log:包含系統授權信息,包括用戶登錄和使用的許可權機制等。

要查看最新的10條系統消息就可以使用命令:

tail /var/log/messages

看了"linux怎麼查看硬體告警" 文章 內容的人還看:

1. linux中查看硬體信息的方法有哪些

2. 如何查看Linux載入內置模塊的信息

3. linux怎麼查看內存

4. linux怎麼查看cpu的使用率問題

5. 如何正鬧運喊確查悄正看Linux機器內存使用情況

6. linux怎麼查看內存使用情況

7. linux系統如何查看內存使用情況

8. Linux查看cpu個數

『捌』 Linux終止前台進程的命令

1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。

『玖』 linux切割、備份大的nohup日誌文件

nohup.out日誌文件太大了,且一直增長,命令查看日誌受阻

①切割老核大文件變成多個小文件
②每天定時保存前一天的日誌,重新記錄當天日誌

1.利用split命令切割
①按文件大小切割大文件:
切割文件:將ohup.out文件每500M切割一個文件放到/home/nginx/logs/newlog/目錄下

②按文件行數切割大文件:
查詢文件侍扒掘行數:
wc -l b.log
2038711 b.log
按50W行切割一個文件:
split -l 500000 -d -a 4 /home/nginx/logs/b.log /home/nginx/logs/newlog/
2.定時備份前一天日誌,重新記錄當天此枯日誌splitlog.sh

3.定時執行
查看定時任務:
crontab -l
編輯定時任務:
crontab -e

重啟定時任務:

刪除10天以前的日誌文件,此日期為文件本身的時間,非日誌內容時間

閱讀全文

與linuxhup相關的資料

熱點內容
php志願者網站源碼 瀏覽:870
貿易pdf 瀏覽:495
dbug命令 瀏覽:351
開逛app如何加好友 瀏覽:958
ftpdos命令下載文件 瀏覽:75
華為如何打開語音伺服器 瀏覽:242
python中的idle 瀏覽:1000
五軸聯動數控編程 瀏覽:965
換一台電腦如何遠程雲伺服器 瀏覽:132
阿里雲怎麼買雲伺服器 瀏覽:664
java提取文字 瀏覽:97
阿里雲伺服器同人賬號問題 瀏覽:420
5分鍾解壓軸題 瀏覽:341
安卓桌面二級文件夾 瀏覽:188
eps文檔加密 瀏覽:261
手機怎麼做pdf 瀏覽:162
ug曲面pdf 瀏覽:279
液化氣還是壓縮氣 瀏覽:950
阿里雲公共ntp伺服器地址 瀏覽:991
金字塔學習機編程 瀏覽:684