真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux描述符命令,linux命令符號解釋

linux常用命令

Linux常用基本命令主要包括目錄操作命令、文件操作命令、文件查看命令、磁盤管理命令、用戶管理命令、系統(tǒng)管理命令等。

成都服務(wù)器托管,創(chuàng)新互聯(lián)提供包括服務(wù)器租用、溫江服務(wù)器托管、帶寬租用、云主機、機柜租用、主機租用托管、CDN網(wǎng)站加速、申請域名等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:18980820575

目錄操作命令:cd、ls、mkdir、pwd、rmdir。

文件操作命令:cp、mv、touch、rm、grep、find、chmod、chown、chgrp、tar、split、gzip、tee、touch、unzip、zip、unrar、scp。

文件查看命令:cat、head、tail、more、nl、diff。

用戶管理命令:useradd、usermod、userdel、passwd、su、groupadd、groupdel。

網(wǎng)絡(luò)通信命令:netstat、route、ftp、sftp、ping、scp、telnet。

系統(tǒng)管理命令:who、uname、top、ps、kill、ifconfig、free、df、du、time、shutdown、reboot、man、last、halt、date、crontab、getconf。

磁盤管理命令:fdisk、mount、umount、sync。

【fd】Linux文件描述符

在Linux下一切資源皆文件,普通文件是文件,磁盤打印機是文件,socket 當然也是文件。

關(guān)于Linux下系統(tǒng),進程能最大能打開的文件描述符數(shù)看過好多文章,但大都沒有完整,詳細說明每個值表示什么意思,在實踐中該怎么設(shè)置?

如何通過最簡單的設(shè)置來實現(xiàn)最有效的性能調(diào)優(yōu),如何在有限資源的條件下保證程序的運作?

max-file 表示系統(tǒng)級別的能夠打開的文件句柄的數(shù)量,是對整個系統(tǒng)的限制,并不是針對用戶的。

ulimit -n 控制進程級別能夠打開的文件句柄的數(shù)量,提供對shell及其啟動的進程的可用文件句柄的控制,這是進程級別的。

對于服務(wù)器來說,file-max和ulimit都需要設(shè)置,否則會出現(xiàn)文件描述符耗盡的問題。

一般如果遇到文件句柄達到上限時,會碰到"Too many open files"或者Socket/File: Can’t open so many files等錯誤。

相關(guān)的3個文件:

/proc/sys/fs/file-max

/proc/sys/fs/file-nr

/etc/security/limits.conf

/proc/sys/fs/file-max

Linux系統(tǒng)級別限制所有用戶進程能打開的文件描述符總數(shù)。

max-file 表示系統(tǒng)級別的能夠打開的文件句柄的數(shù)量,是對整個系統(tǒng)的限制,并不是針對用戶的。

/etc/security/limits.conf

用戶級別的限制是通過可以通過命令ulimit命令和文件/etc/security/limits.conf

/proc/sys/fs/file-nr 該參數(shù)是只讀的,不能修改。

file-nr的值由3部分組成:

1,已經(jīng)分配的文件描述符數(shù);

2,已經(jīng)分配但未使用的文件描述符數(shù);

3,內(nèi)核最大能分配的文件描述符數(shù)

/proc/${pid}/fd

眾所周知,在相應進程的/proc/$pid/fd 目錄下存放了此進程所有打開的fd。

當然有些可能不是本進程自己打開的,如通過fork()從父進程繼承而來的。

那么這個socket:后面的一串數(shù)字是什么呢?其實是該socket的inode號。

那么,知道了某個進程打開的socket的inode號后,我們可以做什么呢?

這就涉及到/proc/net/tcp(udp對應/proc/net/udp)文件了,其中也列出了相應socket的inode號通過比對此字段,我們能在/proc/net/tcp下獲得此套接口的其他信息,如對應的本地地址:端口號,遠端地址:端口號對,窗口大小,狀態(tài)等信息。

具體字段含義詳見net/ipv4/tcp_ipv4.c 中的 tcp4_seq_show 函數(shù)。

如果socket創(chuàng)建了,沒有被使用,那么就只會在/proc/pid/fd下面有,而不會在/proc/net/下面有相關(guān)數(shù)據(jù)。

目錄中的每一項都是一個符號鏈接,指向打開的文件,數(shù)字則代表文件描述符。

其中0 = /dev/null ,1 = stdout, 2 = stderr,用cat或tail查看即可。

Number of file descriptors: different between /proc/sys/fs/file-nr and /proc/$pid/fd?

Linux中最大文件描述符數(shù)

How do linux file descriptor limits work?

limits.conf(5) - Linux man page

Why can't I tail -f /proc/$pid/fd/1 ?

Linux查看進程運行輸出(/proc/<pid>/fd)

linux文件描述符

Linux 下,一切皆文件

在Linux操作系統(tǒng)中,可以將一切都看作是文件,包括普通文件,目錄文件,字符設(shè)備文件(如鍵盤,鼠標…),塊設(shè)備文件(如硬盤,光驅(qū)…),套接字等等,所有一切均抽象成文件,提供了統(tǒng)一的接口,方便應用程序調(diào)用。

既然在Linux操作系統(tǒng)中,你將一切都抽象為了文件,那么對于一個打開的文件,我應用程序怎么對應上呢?

文件描述符應運而生。

文件描述符:File descriptor,簡稱fd,當應用程序請求內(nèi)核打開/新建一個文件時,內(nèi)核會返回一個文件描述符用于對應這個打開/新建的文件,其fd本質(zhì)上就是一個 非負整數(shù) 。實際上,它是一個索引值,指向 內(nèi)核為每一個進程所維護的該進程打開文件的記錄表。當程序打開一個現(xiàn)有文件或者創(chuàng)建一個新文件時,內(nèi)核向進程返回一個文件描述符。 在程序設(shè)計中,一些涉及底層的程序編寫往往會圍繞著文件描述符展開。但是文件描述符這一概念往往只適用于UNIX、Linux這樣的操作系統(tǒng)。

操作系統(tǒng)的核心叫內(nèi)核,是一個獨立的軟件。

操作系統(tǒng)為每一個進程維護了一個文件描述符表,該表的索引值都從從0開始的,所以在不同的進程中可以看到相同的文件描述符,這種情況下相同的文件描述符可能指向同一個文件,也可能指向不同的文件,具體情況需要具體分析,下面用一張簡圖就可以很容易的明白了。

通過上圖可以看到,當不同進程中出現(xiàn)相同的文件描述符時,可能實際對應的文件并不是同一個,相反不同進程中不同的文件描述符也可可能對應同一個文件。

當一個應用程序剛剛啟動的時候,0是標準輸入,1是標準輸出,2是標準錯誤。如果此時去打開一個新的文件,它的文件描述符會是3。POSIX標準要求每次打開文件時(含socket)必須使用當前進程中最小可用的文件描述符號。

文件描述符是一個重要的系統(tǒng)資源,理論上系統(tǒng)內(nèi)存多大就應該可以打開多少個文件描述符,但是實際情況是,內(nèi)核會有系統(tǒng)級限制,以及用戶級限制(不讓某一個應用程序進程消耗掉所有的文件資源,可以使用ulimit -n 查看)。

進程 + 文件描述符ID確認,因為內(nèi)核為每個進程都有一份其所屬的文件描述符表。

所以linux下兩個進程返回的文件描述符是不一樣的

多個進程之間的fd:

應用程序進程拿到的 文件描述符ID 對應 進程文件描述符表 的索引,通過索引拿到 文件指針 ,指向系統(tǒng)級文件描述符表的 文件偏移量 ,再通過文件偏移量找到 inode指針 ,最終對應到真實的文件。

Linux查看進程打開多少文件描述符命令

可用lsof命令,可以列出被進程所打開的文件的信息。被打開的文件可以是:

1普通的文件,2.目錄? 3.網(wǎng)絡(luò)文件系統(tǒng)的文件,4.字符設(shè)備文件? 5.(函數(shù))共享庫? 6.管道,命名管道 7.符號鏈接 8.底層的socket字流,網(wǎng)絡(luò)socket,unix域名socket? 各個命令的詳細介紹可看下“Linux命令大全”


分享題目:linux描述符命令,linux命令符號解釋
瀏覽地址:http://weahome.cn/article/dschjdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部