Ⅰ linux 查看文件被哪個進程佔用
1、查看進程「打開」的文件 (方法1): 1)pidof programe-name(獲得想了解的進程(programe-name)的PID) 或ps -aux|grep programe-name(獲得想了解的進程(programe-name)的PID) 找出進程的PID 2)cd /proc/$PID/fd(會看見文件描述符) 3)ls -l 得到文件描述符指向的實際文件,即當前進程打開的文件2、查看進程「打開」的文件 (方法2): 1)獲得想了解的進程的PID方法同上 2)lsof -c programe-name 或lsof -p $PID
Ⅱ 請教:如何檢查linux的fd是否已經耗盡
如果是redhat家族 試試這個:
ls -l /proc/進程PID/fd/
會列出當前進程所有的fd.
或者
寫代碼的時候最好寫個open就寫個close
寫個malloc就寫個free
Ⅲ Linux下如何查看進程打開的文件以及修改進程打開文件數上限
1. 查看進程打開文件 在/proc下,對應每個進程有一個以進程號命名的目錄,該目錄下有一個fd目錄,該目錄下面的每個文件是一個符號連接,其文件名對應該進程佔用的一個文件描述符,而連接指向的內容表示文件描述符對應的實際文件。 2. 修改進程打開文件數上限Linux默認的進程打開文件上限是1024個,可以通過ulimit 把所有用戶的進程打開文件上限改為65536,可以加入下面兩行 * soft nofile 65535 還可以只真對某個用戶或某個組做修改,具體方法參見文件注釋。修改後需要重新啟動系統才能生效。
Ⅳ linux查看磁碟類型
1、df -T 命令查看
這個是最簡單的命令,文件系統類型在Type列輸出。只可以查看已經掛載的分區和文件系統類型。如下所示:
[root@mylnx008 ~]# df -T /dev/sdb
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sdb xfs 315467264 4356404 311110860 2% /mysql
[root@mylnx008 ~]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 xfs 30929148 22455300 8473848 73% /
devtmpfs devtmpfs 1746644 0 1746644 0% /dev
tmpfs tmpfs 1757220 0 1757220 0% /dev/shm
tmpfs tmpfs 1757220 24868 1732352 2% /run
tmpfs tmpfs 1757220 0 1757220 0% /sys/fs/cgroup
/dev/sda1 xfs 508580 63024 445556 13% /boot
/dev/sdc1 ext4 139203080 8699072 123409840 7% /mnt/resource
tmpfs tmpfs 351448 0 351448 0% /run/user/1000
/dev/sdb xfs 315467264 4356404 311110860 2% /mysql
2、parted -l命令查看
如下所示,parted -l 命令會輸出文件系統類型(File system), 其中參數l表示列出所有設備的分區信息。《Linux就該這么學》一起學習交流linux知識。
[root@DB-Server ~]# parted -l
Model: ATA ST500DM002-1BD14 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 107MB 107MB primary ext3 boot
2 107MB 500GB 500GB primary lvm
3、blkid命令查看
查看已格式化分區的UUID和文件系統。使用blkid可以輸出分區或分區的文件系統類型,查看TYPE欄位輸出。
[root@DB-Server ~]# blkid
/dev/mapper/VolGroup00-LogVol01: TYPE="swap"
/dev/mapper/VolGroup00-LogVol00: UUID="1c0d5470-1503-4a18-b184-53483466d948" TYPE="ext3"
/dev/sda1: LABEL="/boot" UUID="582b189c-396c-4da8-a7a3-1effaa3e4000" TYPE="ext3"
/dev/VolGroup00/LogVol00: UUID="1c0d5470-1503-4a18-b184-53483466d948" TYPE="ext3"
/dev/VolGroup00/LogVol01: TYPE="swap"
/dev/mapper/VolGroup00-LogVol03: UUID="f037ba1e-77a1-439a-8a10-b78c3cca68ec" SEC_TYPE="ext2" TYPE="ext3"
[root@DB-Server ~]# blkid /dev/sda1
/dev/sda1: LABEL="/boot" UUID="582b189c-396c-4da8-a7a3-1effaa3e4000" TYPE="ext3"
4、命令lsblk -f 查看
有些系統可能沒有這個命令,需要安裝。注意:lsblk -f也可以查看未掛載的文件系統類型
[root@mylnx008 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
fd0
sda
├─sda1 xfs b98659b2-5f8c-493e-9304-658905ef1391 /boot
└─sda2 xfs b7559ac5-b3a4-4b00-b98a-a2a2611806d0 /
sdb xfs 6fcc5417-3c1b-4c71-aac7-344bac7654a4 /mysql
sdc
└─sdc1 ext4 1ad7da45-2366-4c4f-acd4-484600c4153a /mnt/resource
Ⅳ linux查看打開的文件句柄
linux系統下查看進程打開文件 在/proc下,對應每個進程有一個以進程號命名的目錄,該目錄下有一個fd目錄,該目錄下面的每個文件是一個符號連接,其文件名對應該進程佔用的一個文件描述符,而連接指向的內容表示文件描述符對應的實際文件,有多少...
Ⅵ linux如何查看埠
x使用過程中,需要了解當前系統開放了哪些埠,並且要查看開放這些埠的具體進程和用戶,可以通過netstat命令進行簡單查詢
netstat命令各個參數說明如下:
-t : 指明顯示TCP埠
-u : 指明顯示UDP埠
-l : 僅顯示監聽套接字(所謂套接字就是使應用程序能夠讀寫與收發通訊協議(protocol)與資料的程序)
-p : 顯示進程標識符和程序名稱,每一個套接字/埠都屬於一個程序。
-n : 不進行DNS輪詢,顯示IP(可以加速操作)
即可顯示當前伺服器上所有埠及進程服務,於grep結合可查看某個具體埠及服務情況··
netstat -ntlp //查看當前所有tcp埠·
netstat -ntulp |grep 80 //查看所有80埠使用情況·
netstat -ntulp | grep 3306 //查看所有3306埠使用情況·
Linux查看程序埠佔用情況
使用命令:
ps -aux | grep tomcat
發現並沒有8080埠的Tomcat進程。
使用命令:netstat –apn
查看所有的進程和埠使用情況。發現下面的進程列表,其中最後一欄是PID/Program name
發現8080埠被PID為9658的java進程佔用。
進一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明確知道8080埠是被哪個程序佔用了!然後判斷是否使用KILL命令幹掉!
方法二:直接使用 netstat -anp | grep portno
即:netstat -anp|grep 8080
netstat -anp|grep 8080 --> tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 28500/java
ps -aux | grep 28500 --> r/local/tomcat9-jforum/tomcat
安裝lsof list open files//---也可以 netstat -tunlp|grep 埠號 netstat -anp|grep 埠號
yum install lsof
lsof -i:8080 查看8080埠佔用
lsof abc.txt 顯示開啟文件abc.txt的進程
lsof -c abc 顯示abc進程現在打開的文件
lsof -c -p 1234 列出進程號為1234的進程所打開的文件
lsof -g gid 顯示歸屬gid的進程情況
lsof +d /usr/local/ 顯示目錄下被進程開啟的文件
lsof +D /usr/local/ 同上,但是會搜索目錄下的目錄,時間較長
lsof -d 4 顯示使用fd為4的進程
lsof -i 用以顯示符合條件的進程情況
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 --> IPv4 or IPv6
protocol --> TCP or UDP
hostname --> Internet host name
hostaddr --> IPv4地址
service --> /etc/service中的 service name (可以不止一個)
port --> 埠號 (可以不止一個)
lsof -i //顯示所有打開的埠
lsof -i:80 //顯示所有打開80埠的進程
lsof -i -U //顯示所有打開的埠和UNIX domain文件
其實我一般這樣用:
[root@VM_39_230_centos bin]# lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 16422 mysql 19u IPv6 148794 0t0 TCP *:mysql (LISTEN)
mysqld 16422 mysql 39u IPv6 643698 0t0 TCP localhost:mysql->localhost:36582 (ESTABLISHED)
mysqld 16422 mysql 45u IPv6 643699 0t0 TCP localhost:mysql->localhost:36584 (ESTABLISHED)
mysql
Ⅶ linux 怎麼查看進程打開的文件
linux系統下查看進程打開文件
在/proc下,對應每個進程有一個以進程號命名的目錄,該目錄下有一個fd目錄,該目錄下面的每個文件是一個符號連接,其文件名對應該進程佔用的一個文件描述符,而連接指向的內容表示文件描述符對應的實際文件,有多少個文件描述符表示該進程打開了多少文件。
另外Linux
默認的進程打開文件上限是1024個,可以通過ulimit
-n查看。很多系統上限可以通過修改/etc/security/limits.conf文件改變,這個文件有詳細的注釋,對如何修改做了說明。如果希望
把所有用戶的進程打開文件上限改為65536,可以加入下面兩行
* soft nofile 65535
* hard nofile 65535
還可以只真對某個用戶或某個組做修改,具體方法參見文件注釋。修改後需要重新啟動系統才能生效。
Ⅷ 如何查看linux進程啟動方式
1、查看進程「打開」的文件 (方法1):
1)pidof programe-name(獲得想了解的進程(programe-name)的PID)
或ps -aux|grep programe-name(獲得想了解的進程(programe-name)的PID)
找出進程的PID
2)cd /proc/$PID/fd(會看見文件描述符)
3)ls -l 得到文件描述符指向的實際文件,即當前進程打開的文件
2、查看進程「打開」的文件 (方法2):
1)獲得想了解的進程的PID方法同上
2)lsof -c programe-name
或lsof -p $PID
Ⅸ Linux查看進程打開多少文件描述符命令
可用lsof命令,可以列出被進程所打開的文件的信息。被打開的文件可以是:
1普通的文件,2.目錄 3.網路文件系統的文件,4.字元設備文件 5.(函數)共享庫 6.管道,命名管道 7.符號鏈接 8.底層的socket字流,網路socket,unix域名socket 各個命令的詳細介紹可看下「Linux命令大全」
Ⅹ Linux如何查看進程訪問哪個文件
1、查看進程「打開」的文件
(方法1):
1)pidof
programe-name(獲得想了解的進程(programe-name)的PID)
或ps
-aux|grep
programe-name(獲得想了解的進程(programe-name)的PID)
找出進程的PID
2)cd
/proc/$PID/fd(會看見文件描述符)
3)ls
-l
得到文件描述符指向的實際文件,即當前進程打開的文件
2、查看進程「打開」的文件
(方法2):
1)獲得想了解的進程的PID方法同上
2)lsof
-c
programe-name
或lsof
-p
$PID