linux系統(tǒng)怎么看ssh有沒(méi)有運(yùn)行 linux顯示網(wǎng)絡(luò)會(huì)話(huà)方向?
linux顯示網(wǎng)絡(luò)會(huì)話(huà)方向?在Linux/Unix中,有那樣的話(huà)幾個(gè)概念:進(jìn)程組(processgroup):一個(gè)或多個(gè)進(jìn)程的集合,每一個(gè)進(jìn)程組有僅有一個(gè)進(jìn)程組ID,即進(jìn)程組長(zhǎng)進(jìn)程的ID。會(huì)話(huà)期(se
linux顯示網(wǎng)絡(luò)會(huì)話(huà)方向?
在Linux/Unix中,有那樣的話(huà)幾個(gè)概念:
進(jìn)程組(processgroup):一個(gè)或多個(gè)進(jìn)程的集合,每一個(gè)進(jìn)程組有僅有一個(gè)進(jìn)程組ID,即進(jìn)程組長(zhǎng)進(jìn)程的ID。
會(huì)話(huà)期(session):一個(gè)或多個(gè)進(jìn)程組的集合,有唯一一個(gè)會(huì)話(huà)期首進(jìn)程(sessionleader)。會(huì)話(huà)期ID為首者進(jìn)程的ID。
會(huì)話(huà)期也可以有一個(gè)不能的控制終端(controllingterminal)。與再控制終端直接連接的會(huì)話(huà)期首進(jìn)程就是壓制進(jìn)程(controllingprocess)。當(dāng)前與終端交互的進(jìn)程稱(chēng)為前臺(tái)進(jìn)程組。其余進(jìn)程組稱(chēng)為后臺(tái)進(jìn)程組。
依據(jù)什么POSIX.1定義:
結(jié)束通話(huà)信號(hào)(SIGHUP)默認(rèn)的動(dòng)作是暫時(shí)終止程序。
當(dāng)終端接口先檢測(cè)到無(wú)線(xiàn)網(wǎng)絡(luò)連接斷開(kāi),將掛斷信號(hào)發(fā)送中給控制進(jìn)程(會(huì)話(huà)期首進(jìn)程)。
假如會(huì)話(huà)期首進(jìn)程暫時(shí)終止,則該信號(hào)正在發(fā)送到該會(huì)話(huà)期前臺(tái)進(jìn)程組。
一個(gè)進(jìn)程解盟會(huì)造成一個(gè)孤兒進(jìn)程組中有一種時(shí),如果橫豎斜一個(gè)孤兒進(jìn)程組進(jìn)程處在STOP狀態(tài),郵箱里SIGHUP和SIGCONT信號(hào)到該進(jìn)程組中所有進(jìn)程。
所以當(dāng)網(wǎng)絡(luò)斷開(kāi)或終端窗口直接關(guān)閉后,再控制進(jìn)程送來(lái)SIGHUP信號(hào)退出,會(huì)可能導(dǎo)致該會(huì)話(huà)期內(nèi)其他進(jìn)程后退。
我們來(lái)看一個(gè)例子。然后打開(kāi)兩個(gè)SSH終端窗口,在其中個(gè)不運(yùn)行star命令。
[root]#top
在另一個(gè)終端窗口,找到top的進(jìn)程ID為5180,其父進(jìn)程ID為5128,即登入shell。
[root]#ps-ef|greptop
root51805128001:03pts/000:00:02top
root58573672001:12pts/200:00:00grepstar
可以使用pstree命令這個(gè)可以更明白地看到這個(gè)關(guān)系:
[root]#pstree-H5180|grepstar
|-sshd--sshd---bash---fly
可以使用ps-xj命令看的到,登入shell(PID5128)和fly在同一個(gè)會(huì)話(huà)期,shell為會(huì)話(huà)期首進(jìn)程,的地方進(jìn)程組PGID為5128,star原先進(jìn)程組PGID為5180,為前臺(tái)進(jìn)程組。
[root]#ps-xj|grep5128
5126512851285128pts/0
要是我們可以看出SIGHUP信號(hào),關(guān)了窗口估計(jì)就肯定不會(huì)影響大程序的運(yùn)行了。nohup命令可以提升這個(gè)目的,如果不是程序的標(biāo)準(zhǔn)輸出/標(biāo)準(zhǔn)錯(cuò)誤是終端,nohup設(shè)置將其重定向到nohup.out文件。值得注意的是nohup命令僅僅讓程序看出SIGHUP信號(hào),還需要建議使用標(biāo)簽amp把它裝在后臺(tái)運(yùn)行。
nohupltcommandgt[argument…]amp
可是nohup很難使用,但那就比較比較“簡(jiǎn)陋”的,相對(duì)于簡(jiǎn)單的命令能阻一阻回來(lái),對(duì)于古怪的需要人機(jī)交互的任務(wù)就麻煩的話(huà)了。
不過(guò)我們也可以建議使用一個(gè)無(wú)比極為強(qiáng)大的實(shí)惠程序screen。流行的Linux發(fā)行版(.例如Red HatEnterpriseLinux4)大多會(huì)自帶screen實(shí)惠程序,假如沒(méi)有的話(huà),這個(gè)可以從GNUscreen的官方網(wǎng)站去下載。
[~]#rpm-qa|grepscreen
xscreensaver-4.18-5.rhel4.11
screen-4.0.2-5
正在建議使用Screen
簡(jiǎn)單來(lái)說(shuō),Screen是個(gè)是可以在多個(gè)進(jìn)程之間全雙工通信一個(gè)物理終端的窗口管理器。Screen中有會(huì)話(huà)的概念,用戶(hù)可以不在一個(gè)screen會(huì)話(huà)中創(chuàng)建戰(zhàn)隊(duì)多個(gè)screen窗口,在每一個(gè)screen窗口中就像操作三個(gè)神秘的telnet/SSH連接窗口這樣。在screen中創(chuàng)建角色一個(gè)新的窗口有這樣的話(huà)幾種
1.直接在命令行然后輸入screen命令
[~]#screen
Screen將創(chuàng)建家族一個(gè)想執(zhí)行shell的全屏窗口。你也可以負(fù)責(zé)執(zhí)行正二十邊形shell程序,那像在ssh窗口中那樣。在該窗口中框輸入exit解盟該窗口,要是這是該screen會(huì)話(huà)的同樣窗口,該screen會(huì)話(huà)后退,要不然screen自動(dòng)選擇到前一個(gè)窗口。
2.Screen命令后跟你要想執(zhí)行的程序。
[~]#screenvitest.c
Screen創(chuàng)建戰(zhàn)隊(duì)一個(gè)負(fù)責(zé)執(zhí)行vitest.c的單窗口會(huì)話(huà),后退vi將后退該窗口/會(huì)話(huà)。
3.以上兩種都創(chuàng)建新的screen會(huì)話(huà)。我們還可以不在一個(gè)僅是screen會(huì)話(huà)中創(chuàng)建新的窗口。在當(dāng)前screen窗口中鍵入C-ac,即Ctrl鍵a鍵,之后再按過(guò)c鍵,screen在該會(huì)話(huà)內(nèi)能生成兩個(gè)新的窗口并切換到該窗口。
screen另外更初級(jí)的功能。你也可以不網(wǎng)絡(luò)中斷screen窗口中程序的運(yùn)行
半個(gè)小時(shí)之后出去了,能找到該screen會(huì)話(huà):
[~]#screen-ls
There isascreenin:
(Detached)
1Socketof/tmp/screens/S-root.
新的連接到會(huì)話(huà):
[~]#screen-r16582
看一下又出現(xiàn)什么了,太棒了,一切都在。一直干吧。
你很有可能注意到給screen發(fā)送命令建議使用了普通的鍵組合C-a。這是畢竟我們?cè)阪I盤(pán)上輸入名稱(chēng)的信息是直接發(fā)送中給當(dāng)前screen窗口,可以用正常途徑向screen窗口管理器嘶嘶命令,默認(rèn)情況下,screen能接收以C-a開(kāi)始的命令。這種下命令形式在screen中叫暗鍵沒(méi)綁定(keybinding),C-a叫作命令字符(commandcharacter)。
啟用ssh是什么意思?
SSH即Secure Shell,是組建在應(yīng)用層基礎(chǔ)上的、專(zhuān)為遠(yuǎn)程登錄會(huì)話(huà)和其他網(wǎng)絡(luò)服務(wù)能提供安全性的協(xié)議,利用SSH協(xié)議也可以最有效能夠防止近戰(zhàn)管理過(guò)程中的信息泄露問(wèn)題。
目前多應(yīng)用于Linux系統(tǒng)遠(yuǎn)程連接當(dāng)中,在linux系統(tǒng)當(dāng)中服務(wù)參與管理,啟動(dòng)后sshd服務(wù)并成功登錄項(xiàng)配置也可以基于命令行遠(yuǎn)程登錄主機(jī)。