㈠ linux中如何查看某個文件被哪些進程佔用
在Linux要檢查那一個進程(process)佔用特定埠號,可以用netstat或lsof來做,例如想列出所有開啟的埠號,可以netstat指令:
或者:
我們已經知道我們想要殺死的那個進程的名字,我們能夠利用killall命令發送同樣的信號,像這樣:
killall -9 mongod
㈡ Linux查看進程打開多少文件描述符命令
可用lsof命令,可以列出被進程所打開的文件的信息。被打開的文件可以是:
1普通的文件,2.目錄 3.網路文件系統的文件,4.字元設備文件 5.(函數)共享庫 6.管道,命名管道 7.符號鏈接 8.底層的socket字流,網路socket,unix域名socket 各個命令的詳細介紹可看下「Linux命令大全」
㈢ linux ulimit -u是設置什麼參數的
一般情況下, ulimit -n 的數值是1024.
當進程打開的文件數目超過此限制時,該進程就會退出。
因此,有時需要修改此限制。linux調優之修改最大連接數(ulimit命令)
如果只是普通用戶,只是暫時的修改ulimit -n,可以直接shell命令來修改(ulimit -n 1024000)。
但是這個設置時暫時的保留!當我們退出bash後,該值恢復原值。
如果要永久修改ulimit,需要修改/etc/security/limits.conf。limits.conf配置(ulimit設置永久生效)
vim /etc/security/limits.conf
# 添加如下的行
* soft nofile 4100
* hard nofile 4100
以下是說明:
* 代表針對所有用戶
noproc 是代表最大進程數
nofile 是代表最大文件打開數
添加格式:
username|@groupname type resource limit
username|@groupname:設置需要被限制的用戶名,組名前面加@和用戶名區別。也可以用通配符*來做所有用戶的限制。
type:有 soft,hard 和 -,soft 指的是當前系統生效的設置值。hard 表明系統中所能設定的最大值。soft 的限制不能比har 限制高。用 - 就表明同時設置了 soft 和 hard 的值。
resource:
core - 限制內核文件的大小(kb)
date - 最大數據大小(kb)
fsize - 最大文件大小(kb)
memlock - 最大鎖定內存地址空間(kb)
nofile - 打開文件的最大數目
rss - 最大持久設置大小(kb)
stack - 最大棧大小(kb)
cpu - 以分鍾為單位的最多 CPU 時間
noproc - 進程的最大數目
as - 地址空間限制
maxlogins - 此用戶允許登錄的最大數目
㈣ 怎樣查看linux進程打開的文件數
Linux文件數打開數x0dx0a查看當前系統最大的文件打開數,x0dx0a在linux終端中輸入ulimit-ax0dx0a「openfiles」參數選項後面的數值就是當前系統支持的最大打開文件數x0dx0ax0dx0a修改linux最大文件打開數x0dx0a如果要修改linux最大文件打開數,可以通過參數命令unlimit-n後面接需要設置的文件數量。x0dx0a設置好之後,再次查看unlimit-a你會發現已經設置為新的數量了x0dx0ax0dx0a設置好之後,再次編輯修改重啟設置的服務,已經沒有剛剛那個1024文件數限制的報錯提示x0dx0ax0dx0a其他修改方法x0dx0a除此之外,如果針對不同的用戶。也可以通過編輯修改/etc/rc.local文件設置環境變數,添加unlimit-nx0dx0a,重啟之後一般就自動設置好了x0dx0ax0dx0a查看系統句柄文件數x0dx0a當前系統文件句柄的最大數目,只用於查看,不能設置修改x0dx0acat/proc/sys/fs/file-maxx0dx0ax0dx0a查看進程打開文件數x0dx0a如果需要查看所有進程的文件打開數,命令lsof|wc-l
㈤ linux查看進程命令linux查看進程
linux查看哪個進程產生的文件夾?
可以使用ps-fe|grepfilename,也可以使用fuserfilename查看只查看該進程:
ps-ef|grep11345查看該進程打開的文件:lsof-p11345查看內存分配:lcat/proc/11345/maps查看堆棧:pstack11345查看發出的系統調用:strace-p11345查看調用庫函數:ltrace-p1134511345是進程號
linux里,如何查某個進程使用了哪些文件?使用了哪些網路埠?
只查看該進程:ps-ef|grep11345查看該進程打開的文件:lsof-p11345查看內存分配:lcat/proc/11345/maps查看堆棧:pstack11345查看發出的系統調用:strace-p11345查看調用庫函數:ltrace-p1134511345是進程號
linux如何查進程、殺進程?
查進程,ps-ef|grepxxx.
殺進程,kill-9xxx.
linux查看某個進程是否啟動的命令是?
ps命令
-e現實所有進程
-f全格式
-h不顯示標題
-l長格式
-a顯示終端上所有進程,包括其它用戶的進程
-r只顯示正在運行的進程
-p指定pid
linux怎麼查看一個進程的執行狀態?
1,寫一個服務,用exec或popen執行ps的命令行,根據該進程的名字獲取該進程的pid。
sprintf(cmd,"ps-ef|grep%s",name);
pstr=popen(cmd,"r");
然後php定時的請求這個機器上的進程狀態,如果進程掛掉了,可以做個預警。
2,如果想做的更多,監視當前每個進程的資源消耗,比如CPU,內存,根據進程的id,可以去拿到/proc/pid/status中的一些數據,比如:
//獲取進程佔用內存
unsignedintget_proc_mem(unsignedintpid){
charfile_name={0};
FILE*fd;
charline_buff={0};
sprintf(file_name,"/proc/%d/status",pid);
fd=fopen(file_name,"r");
if(nullptr==fd){
return0;
}
charname;
intvmrss;
for(inti=0;iVMRSS_LINE-1;i++){
fgets(line_buff,sizeof(line_buff),fd);
}
fgets(line_buff,sizeof(line_buff),fd);
sscanf(line_buff,"%s%d",name,vmrss);
fclose(fd);
returnvmrss;
}
然後你就可以通過一些圖形做一些動態展示了。