『壹』 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
『貳』 linux終止前台進程的命令
1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。
『叄』 伺服器進程的查看和殺死
任務管理器可以查看進程和線程數,也可以用來殺死進程
tasklist 查看進程
taskkill 殺死進程
ps -fe 查看所有進程
ps -fT -p <PID> 查看某個進程(PID)的所有線程
kill 殺死進程
top 按大寫 H 切換是否顯示線程
top -H -p <PID> 查看某個進程(PID)的所有線程
jps 命令查看所有 java 進程
jstack <PID> 查看某個 Java 進程(PID)的所有線程狀態
jconsole 來查看某個 Java 進程中線程的運行情況(圖形界面)
jconsole 遠程監控配置
需要以如下方式運行你的 java 類
修改 /etc/hosts 文件將 127.0.0.1 映射至主機名
如果要認證訪問,還需要做如下步驟
復制 jmxremote.password 文件
修改 jmxremote.password 和 jmxremote.access 文件的許可權為 600 即文件所有者可讀寫
連接時填入 controlRole(用戶名),R&D(密碼)
『肆』 linux殺死進程怎麼一下子全部殺死
1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。
『伍』 如何強制關閉伺服器的某些進程
如果是託管進程 可以用GC 如果是非託管進程 那就要用kill了 思路就是這樣