linux捕获其他进程信号,linux进程如何捕获信号
該命令主要用于查看當前在線上的用戶情況。這個命令非常有用。如果用戶想和其他用戶建立即時通訊,比如使用talk命令,那么首先要確定的就是該用戶確實在線上,不然talk進程就無法建立起來。又如,系統管理員希望監視每個登錄的用戶此時此刻的所作所為,也要使用who命令。
who命令的常用語法格式如下:
who [imqsuwHT] [--count] [--idle] [--heading] [--help] [--message] [--mesg] [--version] [--writable] [file] [am i]
所有的選項都是可選的,也就是說可以單獨使用who命令。
不使用任何選項時,who命令將顯示以下三項內容:
login name:登錄用戶名;
terminal line:使用終端設備;
login time:登錄到系統的時間。
如果給出的是兩個非選項參數,那么who命令將只顯示運行who程序的用戶名、登錄終端和登錄時間。通常這兩個參數是“am i”,即該命令格式為:“who am i”。
下面對who命令的常用參數進行說明。
-m 和“who am i”的作用一樣,顯示運行該程序的用戶名。
-q,--count 只顯示用戶的登錄帳號和登錄用戶的數量,該選項優先級高于其他任何選項。
-s 忽略。主要是用于和其他版本的who命令兼容。
-i,-u,--idle 在登錄時間后面顯示該用戶最后一次對系統進行操作至今的時間,也就是常說的“發呆”時間。
-H,--heading 顯示一行列標題。常用的標題如表4-2所示。
表4-2who命令輸出常用標題
標 題
說 明
USER
用戶登錄帳號
LINE
用戶登錄使用終端
LOGIN-TIME
用戶登錄時間
IDLE
用戶空閑時間,即未進行操作的時間
PID
用戶登錄shell的進程ID
FROM
用戶網絡地址
-w,-T--mesg,--message,--writable 和-s選項一樣,在登錄帳號后面顯示一個字符來表示用戶的信息狀態:
+:允許寫信息;
-:不允許寫信息;
?:不能找到終端設備。
--help 在標準輸出上顯示幫助信息。
--version 在標準輸出上顯示版本信息。
下面介紹who命令的一些基本用法。
如果需要查看在系統上究竟有哪些用戶,可以直接使用who命令。
[例17] 查看登錄到系統的用戶情況
$ who
root tty1 Mar 17 13:49
foxy tty2 Mar 17 13:49
root tty3 Mar 17 13:49
bbs ttyp0 Mar 17 13:49 (river.net)
可以看到,現在系統一共有四個用戶。第一列是登錄用戶的帳號;第二列是登錄所使用的終端;第三列是登錄時間;第四列是用戶從什么地方登錄的網絡地址,這里是域名。
一般來說,這樣就可以了解登錄用戶的大致情況了。但有時上面的顯示不是那么直觀,因為沒有標題說明,不容易看懂,這時就需要使用-H選項了。
[例18] 查看登錄用戶的詳細情況,鍵入:
$ who -uH
顯示如下:
USER LINE LOGIN-TIME IDLE FROM
root tty1 Mar 17 13:49 .
foxy tty2 Mar 17 13:49 00:01
root tty3 Mar 17 13:49 00:01
bbs ttyp0 Mar 17 13:49 00:01 (river.net)
這樣一目了然。其中-u選項指定顯示用戶空閑時間,所以可以看到多了一項IDLE。第一個root用戶的IDLE項是一個“.”,這就說明該用戶在前1秒仍然是活動的,而其他用戶后面都有一個時間,稱為空閑時間。
最后來看看使用“who am i”格式命令的結果:
233.river.net!root tty1 Mar 17 13:49
可見只顯示出了運行該who命令的用戶情況,當然這時候不存在空閑時間。
who命令應用起來非常簡單,可以比較準確地掌握用戶的情況,所以使用非常廣泛。
[編輯本段]w命令
該命令也用于顯示登錄到系統的用戶情況,但是與who不同的是,w命令功能更加強大,它不但可以顯示有誰登錄到系統,還可以顯示出這些用戶當前正在進行的工作,并且統計數據相對who命令來說更加詳細和科學,可以認為w命令就是who命令的一個增強版。
w命令的顯示項目按以下順序排列:當前時間,系統啟動到現在的時間,登錄用戶的數目,系統在最近1秒、5秒和15秒的平均負載。然后是每個用戶的各項數據,項目顯示順序如下:登錄帳號、終端名稱、遠程主機名、登錄時間、空閑時間、JCPU、PCPU、當前正在運行進程的命令行。
其中JCPU時間指的是和該終端(tty)連接的所有進程占用的時間。這個時間里并不包括過去的后臺作業時間,但卻包括當前正在運行的后臺作業所占用的時間。而PCPU時間則是指當前進程(即在WHAT項中顯示的進程)所占用的時間。下面介紹該命令的具體用法和參數。
語法格式如下:
w -[husfV] [user]
下面對參數進行說明:
-h 不顯示標題。
-u 當列出當前進程和CPU時間時忽略用戶名。這主要是用于執行su命令后的情況。
-s 使用短模式。不顯示登錄時間、JCPU和PCPU時間。
-f 切換顯示FROM項,也就是遠程主機名項。默認值是不顯示遠程主機名,當然系統管理員可以對源文件作一些修改使得顯示該項成為默認值。
-V 顯示版本信息。
User 只顯示指定用戶的相關情況。
[例19] 顯示當前登錄到系統的用戶的詳細情況
$ w
2:50pm up 2 min, 4 users, load average:0.22,0.16,0.06
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 2:49pm 0:00s 0.56s 0.10s w
foxy tty2 2:49pm 1:09 0.42s 0.42s bash
root tty3 2:49pm 46.00s 0.67s 0.25s telnet bbs3
bbs ttyp0 river.net 2:49pm 45.00s 0.49s 0.49s bbs h river.net
[編輯本段]ps命令
1. ps簡介
前面介紹的兩個命令都是用于查看當前系統用戶的情況,下面就來看看進程的情況,這也是本章的主題。要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而ps命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等。總之大部分信息都是可以通過執行該命令得到的。
總結
以上是生活随笔為你收集整理的linux捕获其他进程信号,linux进程如何捕获信号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux usb xhci ehci,
- 下一篇: 天国拯救开锁器哪里买