1.環境說明
遠程服務器操作系統:AIX6.0
本地操作系統:windows xp sp3
2.windows連接遠程服務器
使用telnet連接遠程服務器.
◆進入cmd,可查看telnet的使用說明
cmd:>telnet – ?
telnet [-a][-e escape char][-f log file][-l user][-t term][host [port]]
-a 企圖自動登錄。除了用當前已登陸的用戶名以外,與 -l 選項相同。
-e 跳過字符來進入 telnet 客戶提示。
-f 客戶端登錄的文件名
-l 指定遠程系統上登錄用的用戶名稱。
要求遠程系統支持 TELNET ENVIRON 選項。
-t 指定終端類型。
支持的終端類型僅是: vt100, vt52, ansi 和 vtnt。
host 指定要連接的遠程計算機的主機名或 IP 地址。
port 指定端口號或服務名。
◆使用telnet命令連接遠程服務器
cmd:>telnet -l root 192.168.0.54
緊接着正確輸入登錄用戶名和密碼,連接至服務器。
◆使用ps查看系統進程命令
# ps – ?
X/Open標准
Usage: ps [-AMNZaedfklm] [-n namelist] [-F Format] [-o specifier[=header],...]
[-p proclist][-G|-g grouplist] [-t termlist] [-U|-u userlist] [-c classlist] [ -T pid] [ -L pidlist ]
[-@ [wparname] ]
伯克利(Berkley)標准:
Usage: ps [aceglnsuvwxX] [t tty] [processnumber]
一般X/Open標准使用比較廣泛,以下只針對該標准進行說明:
-A 表示顯示系統中所有的進程,包括進程組組長(process group leader)和核心進程
-a 表示顯示系統中所有的進程,除了進程組組長和沒有相關終端的進程
-d 表示顯示系統中所有的進程,除了進程組組長,但包括核心進程
-e 表示顯示系統中所有的進程,除了核心進程
-f 表示 顯示進程的詳細信息
-G grouplist 顯示grouplist列表中包含的所有進程組中的進程
-g 同-G grouplist
-k 顯示核心進程
-l 以長格式顯示進程信息,輸出的內容比-f參數輸出的內容多
-m 顯示進程中的線程信息
-o format 按format 指定的格式顯示進程信息
-P Plist顯示由Plist指定進程號的進程信息
-t TList 顯示由Tlist指定終端上的進程信息
-U Ulist 顯示由Ulist指定用戶名或用戶標識號的進程信息
-u Ulist 同-U Ulist
進程組組長:每個進程除了記錄它自己的進程號(PID)外還記錄了它的父進程號(PPID)、它所屬進程組的ID(PGID),進程組是由一個或
好幾個進程所組成的集合,進程組組長的PID與進程組的ID相同,因此PGID也就是進程組組長,當一個進程的進程組ID與它的進程ID相同時,
這個進程就稱為進程組組長。
ps -o "%p %P %r %a" -A 表示顯示所有的進程的進程號、父進程號、進程組號和產生的進程
ps 表示只顯示用戶登陸的終端的進程狀態
如果讓一個進程在后台運行,我們可以在后面加一個"&"符號
僵屍進程:當一個子進程死亡后,在父進程清除它之前,這個子進程就成了一個僵屍進程,它的屍體還保留在進程表中(就是說它仍然有進
程號),直到父進程調用wait()后才能將它從進程表清除掉,這種屍體還保留在進程表中的進程就稱為僵屍進程。當一個子進程先於父進程
死亡而父進程又沒有調用wait()來清除時,就會產生僵屍進程,一般標記為defunct符號。僵屍進程會影響系統的效率。
ps -kl 表示顯示核心進程
deamon進程(守侯進程):是一個永不停止的進程,它處於后台運行並且大多時間處於空閑狀態。
ps -elm 表示顯示線程信息
執行shell腳本test.sh的三種方式:
ksh test.sh
chmod +x test.sh
test.sh
.test.sh
當執行某一shell腳本在后台運行,並且該用戶退出時不能中斷,則需要用nohup命令
nohup ksh test.sh &
◆使用kill殺死進程命令
kill [-s {signalname|signalnumber}] processid...
kill [- signalname|- signalnumber ] processid...
processid 表示接收信號的進程的ID號
signalname 表示信號名
signalnumber 信號的代號
killall [-][-signal] 表示殺死某一用戶啟動的所有進程
- 表示先發送一sigterm信號再發送sigkill信號,收到sigterm信號后的所有進程有30秒的處理后事的時間,即收到sigterm信號后,
有一個清理的機會。
[-][-signal] 表示先發送一個signal信號(可以是signalname也可以是signalnumber),然后再發送sigkill信號,同樣,在收到
第一個信號時也有30秒的處理時間。
killall 表示殺死某一用戶所有啟動的后台進程,即發送一個信號9
killall - 表示殺死某一用戶所有啟動的后台進程並提供一個結束前的清理資源的機會