linux中的管道
管道是什麼?
在linux中,所有的一切都被當成文件來處理,我們把處理文件的過程叫做流,而管道就是控制流的方向。管道的專用符號是 “|”,當前一個流結束時,通過符號"|",前一個流的輸出會自動變爲後一個流的輸入。
怎麼診斷程序中的管道問題
但是具體應用過程中可能遇到一些問題,比如說提示錯誤:管道錯誤: 打開的文件過多,這個時候你先要知道是哪個進程的管道數超標。
使用top命令查看當前運行的進程動態
按b鍵,將當前執行程序進程高亮
截圖:
驗證該PID:ps -eo pid,lstart,etime|grep pid
截圖:
時間對的上就是它了
查看該PID的文件打開數目:lsof -p pid |wc -l
截圖:
怎麼修改管道配置
查看管道配置:ulimit -a
其中open files就是限制文件打開數目,這個是已經修改後的,修改之前是1024,修改後變爲65535
截圖:
修改管道配置:vim vim /etc/security/limits.conf
在文檔後面添加:
* soft nofile 65535
* hard nofile 65535
應用配置: vim /etc/pam.d/login
在文檔後面添加:
session required /lib/security/pam_limits.so
查看修改情況:ulimit -a
截圖: