Ⅰ C# 殺掉伺服器中的進程
用fuser殺掉進程一脊運凳,為什麼要使用fuser? 先說 fuser的作用,
fuser能識別出正在對某個文件或埠訪問的進程 大家想一下,還有哪個命令具備這個功能? 沒錯,是lsof, 我們前面講過,
lsof能夠找出正在對指定文件訪問的進程, 那麼它們兩者之間有何區別櫻旅?
fuser有一個特別的用法在於它可以一次殺死那些正在訪問指定文件的進程 二,如何使用fuser?
1,如何用fuser得到正在使用指定文件的進程? 用法: fuser 文件
說明:它會把正在使用當前文件的進程id列出 [root@localhost lhd]# umount / umount:
/: device is busy. (In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1))
[root@localhost lhd]# fuser / /: 1rc 2rc
3rc 4rc 5rc 6rc 7rc 80rc 82rc 84rc 85rc 153rc
157rc 158rc 160rc 165rc 168rc 203rc
204rc 205rc 253rc 441rc 444rc 516rc 521rc 524rc 582rc 583rc
584rc 633rc 1052rc 1392rc 1394rc 1417rc
1597rc 1609rc 1617rc 1620rc 1683rc 1744rc 1783r
1785rc 1788rc 1806r 1808r 1810rc 1811rc 1812rc
1813rc 1814rc 1815rc 1848rc 1886rc 1899rc 1900rc 2001rc
......太多不一一列出 說明:
這些進程號後面的rc是什麼意思? c 將此文件作為當前目錄使用。 e
將此文件作為程序的可執行對象使用。 r 將此文件作為根目錄使用。 s
將此文件作為共享庫(或其他可裝載對象)使用 2,如何列出進程的詳細信息,而不僅僅是進程id? 用
-v參數即可 說明: -v: 含義是:verbose output,詳細的輸出信息 例子:
[root@dev ~]# fuser /var/log /var/log: 4196c
[root@dev ~]# fuser -v /var/log
USER PID ACCESS COMMAND /var/log: root 4196
..c.. bash 3,如何列出進程所屬的悄老用戶? 用 -u參數即可 說明: -u: 含義:display
user IDs,顯示用戶id 例子: [root@dev ~]# fuser -u
/var/log /var/log: 4196c(root)
4,如何殺死所有正在訪問指定文件的進程? 用 -k參數即可 說明: -k:含義: kill processes
accessing the named file 例子: [root@localhost lhd]# fuser
-v /root/install.log 用戶 進程號 許可權 命令
/root/install.log: root 3185 f.... tail [root@localhost lhd]#
fuser -k /root/install.log /root/install.log: 3185
[root@localhost lhd]# fuser -v /root/install.log 說明:
-k參數能夠殺死所有的正在訪問指定文件的進程,所以用來殺進程時非常方便 說明之二: fuser如何殺死的進程?
它發送的是這個信號:SIGKILL三,多學一點知識 1,fuser可以列出它所知的信號:
用 -l參數即可 例子: [root@dev ~]# fuser -l HUP INT
QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT
CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED 2,fuser可以發送它已知的信號給訪問的指定文件進程而代替-k參數默認發送的SIGKILL
例如:只是掛起進程,那麼發送HUP信號就可以了 例子: [root@localhost lhd]#
fuser -v /root/install.log 用戶 進程號 許可權
命令 /root/install.log: root 3347 f.... tail
[root@localhost lhd]# fuser -k -SIGHUP /root/install.log
/root/install.log: 3347 [root@localhost lhd]# fuser -v
/root/install.log
Ⅱ 人臉識別的識別演算法
人臉識別的基本方法
人臉識別的方法很多,以下介紹一些主要的人臉識別方法。
(1)幾何特徵的人臉識別方法
幾何特徵可以是眼、鼻、嘴等的形狀和它們之間的幾何關系(如相互之間的距離)。這些演算法識別速度快,需要的內存小,但識別率較低。
(2)基於特徵臉(PCA)的人臉識別方法
特徵臉方法是基於KL變換的人臉識別方法,KL變換是圖像壓縮的一種最優正交變換。高維的圖像空間經過KL變換後得到一組新的正交基,保留其中重要的正交基,由這些基可以張成低維線性空間。如果假設人臉在這些低維線性空間的投影具有可分性,就可以將這些投影用作識別的特徵矢量,這就是特徵臉方法的基本思想。這些方法需要較多的訓練樣本,而且完全是基於圖像灰度的統計特性的。目前有一些改進型的特徵臉方法。
(3)神經網路的人臉識別方法
神經網路的輸入可以是降低解析度的人臉圖像、局部區域的自相關函數、局部紋理的二階矩等。這類方法同樣需要較多的樣本進行訓練,而在許多應用中,樣本數量是很有限的。
(4)彈性圖匹配的人臉識別方法
彈性圖匹配法在二維的空間中定義了一種對於通常的人臉變形具有一定的不變性的距離,並採用屬性拓撲圖來代表人臉,拓撲圖的任一頂點均包含一特徵向量,用來記錄人臉在該頂點位置附近的信息。該方法結合了灰度特性和幾何因素,在比對時可以允許圖像存在彈性形變,在克服表情變化對識別的影響方面收到了較好的效果,同時對於單個人也不再需要多個樣本進行訓練。
(5)線段Hausdorff 距離(LHD) 的人臉識別方法
心理學的研究表明,人類在識別輪廓圖(比如漫畫)的速度和准確度上絲毫不比識別灰度圖差。LHD是基於從人臉灰度圖像中提取出來的線段圖的,它定義的是兩個線段集之間的距離,與眾不同的是,LHD並不建立不同線段集之間線段的一一對應關系,因此它更能適應線段圖之間的微小變化。實驗結果表明,LHD在不同光照條件下和不同姿態情況下都有非常出色的表現,但是它在大表情的情況下識別效果不好。
(6)支持向量機(SVM) 的人臉識別方法
近年來,支持向量機是統計模式識別領域的一個新的熱點,它試圖使得學習機在經驗風險和泛化能力上達到一種妥協,從而提高學習機的性能。支持向量機主要解決的是一個2分類問題,它的基本思想是試圖把一個低維的線性不可分的問題轉化成一個高維的線性可分的問題。通常的實驗結果表明SVM有較好的識別率,但是它需要大量的訓練樣本(每類300個),這在實際應用中往往是不現實的。而且支持向量機訓練時間長,方法實現復雜,該函數的取法沒有統一的理論。
人臉識別的方法很多,當前的一個研究方向是多方法的融合,以提高識別率。
在人臉識別中,第一類的變化是應該放大而作為區分個體的標準的,而第二類的變化應該消除,因為它們可以代表同一個個體。通常稱第一類變化為類間變化,而稱第二類變化為類內變化。對於人臉,類內變化往往大於類間變化,從而使在受類內變化干擾的情況下利用類間變化區分個體變得異常困難。正是基於上述原因,一直到21 世紀初,國外才開始出現人臉識別的商用,但由於人臉識別演算法非常復雜,只能採用龐大的伺服器,基於強大的計算機平台。
如果可以的話,可以Te一下colorreco,更好的技術解答。