linux删除进程
微信可以設置雪花昵稱了,真漂亮!!!
1.Tab 鍵會自動補全
在 LINUX 命令平臺輸入 1-2 個字符后按 Tab 鍵會自動補全后面的部分(前提是要有這個東西,例如在裝了 tomcat 的前提下, 輸入 tomcat 的 to 按 tab)。 2. ps 命令用于查看當前正在運行的進程。 grep 是搜索 例如: ps -ef | grep java 表示查看所有進程里 CMD 是 java 的進程信息 ps -aux | grep java -aux 顯示所有狀態 3. kill 命令用于終止進程 例如: kill -9 [PID] -9 表示強迫進程立即停止 通常用 ps 查看進程 PID ,用 kill 命令終止進程 4.批量刪除進程 介紹兩種方法。要kill的進程都有共同的字串。 kill -9 ps -ef |grep xxx|awk '{print $2}' kill -9后面的符號是Tab鍵上方那個。 如上就是kill -9 `列出進程,找到包含xxx的行,輸出pid的列 kill、ps、grep都是很常用的命令了。 awk的作用是輸出某一列,{print $2}就是輸出第二列,如上即是pid這一列。
ps -ef | grep xxx | grep -v root | awk '{print $2}' | xargs kill -9 grep -v這個參數的作用是排除某個字符。所以這里排除了root執行的命令。 之后也利用awk找到pid這一列。 最后的xargs是從標準輸出獲取參數并執行命令的程序,即從前面的命令獲取輸出作為參數來執行下一個命令。 5.清理僵尸進程微信設置水滴昵稱,個性中帶點萌 今天在維護服務器的時候,發現有5個nova-novncproxy的僵尸進程。 ? 26327 ? S 0:05 _ /usr/bin/python /usr/bin/nova-novncproxy --config-file=/etc/nova/nova.conf 4765 ? Z 0:00 _ [nova-novncproxy] 4766 ? Z 0:00 _ [nova-novncproxy] 4767 ? Z 0:00 _ [nova-novncproxy] 4768 ? Z 0:00 _ [nova-novncproxy] 4769 ? Z 0:00 _ [nova-novncproxy] 一般僵尸進程很難直接kill掉,不過您可以kill僵尸爸爸。父進程死后,僵尸進程成為”孤兒進程”,過繼給1號進程init,init始終會負責清理僵尸進程.它產生的所有僵尸進程也跟著消失。 ps -e -o ppid,stat | grep Z | cut -d” ” -f2 | xargs kill -9 或 kill -HUP ps -A -ostat,ppid | grep -e ’^[Zz]‘ | awk ’{print $2}’ 當然您可以自己編寫更好的shell腳本,歡迎與大家分享。 我將nova-novncproxy stop后再start,僵尸進程即消失,問題解決。再見,優酷!再見,愛奇藝! 另外子進程死后,會發送SIGCHLD信號給父進程,父進程收到此信號后,執行waitpid()函數為子進程收尸。就是基于這樣的原理:就算父進程沒有調用wait,內核也會向它發送SIGCHLD消息,而此時,盡管對它的默認處理是忽略,如果想響應這個消息,可以設置一個處理函數。 6.如何避免僵尸進程呢? 處理SIGCHLD信號并不是必須的。但對于某些進程,特別是服務器進程往往在請求到來時生成子進程處理請求。如果父進程不等待子進程結束,子進程將成為僵尸進程(zombie)從而占用系統資源。如果父進程等待子進程結束,將增加父進程的負擔,影響服務器進程的并發性能。在Linux下 可以簡單地將 SIGCHLD信號的操作設為SIG_IGN。 signal(SIGCHLD,SIG_IGN); 這樣,內核在子進程結束時不會產生僵尸進程。這一點與BSD4不同,BSD4下必須顯式等待子進程結束才能釋放僵尸進程 或者 用兩次fork(),而且使緊跟的子進程直接退出,是的孫子進程成為孤兒進程,從而init進程將負責清除這個孤兒進程。
以上就是良許教程網為各位朋友分享的Linux相關知識。
總結
- 上一篇: 赛默飞世尔Thermo Fisher仪器
- 下一篇: Java输入输出流