lsof

linux磁盘空间满了 但是没有大文件

天涯浪子 提交于 2019-12-01 05:03:30
很常见的一个问题 linux磁盘空间满了 但是没有大文件 解决思路: 1、用df 检查发现/根目录可用空间为0 [root@/]#df -h 2、用du检查发现各目录占用的空间都很少,有约3G的空间莫名其妙地丢了. [root@/]# du -m –max-depth=1|sort -gr 3、用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象 [root@/]# lsof |grep delete 根据lsof列出的进程号,kill这些进程后,空间就释放出来了 lsof |grep delete |sort -nrk 7 |more 按照大小排序 来源: https://www.cnblogs.com/soilge/p/11656913.html

Linux Shell 基础知识(二)

落花浮王杯 提交于 2019-12-01 02:21:23
1.本文知识结构 2.文件的查询与检索 2.1. cd 目录切换 找到文件/目录位置:cd 切换到上一个工作目录: cd - 切换到home目录: cd or cd ~ 显示当前路径: pwd 更改当前工作路径为path: $cd path 2.2. locate 查找目录及文件 find 实时查找 locate 为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库,在查找文件之前要先更新数据库 # 搜寻文件或目录: $find ./ -name "core*" | xargs file # 查找目标文件夹中是否有obj文件: $find ./ -name '*.o' # 递归当前目录及子目录删除所有.o文件 $find ./ -name "*.o" -exec rm {} \; # 寻找包含有string的路径 $updatedb $locate string 2.3. chown 文件与目录权限修改 改变文件的拥有者 chown 改变文件读、写、执行等属性 chmod 递归子目录修改: chown -R tuxapp source/ 增加脚本可执行权限: chmod a+x myscript 2.4. 管道和重定向 批处理命令连接执行,使用 | 串联: 使用分号 ; 前面成功,则执行后面一条,否则,不执行:&& 前面失败,则后一条执行: || 重定向: >

How to use lsof(List Opened Files) in a C/C++ application?

我们两清 提交于 2019-12-01 02:09:27
问题 Is there any way to get all opened sockets using c++? I know the lsof command and this is what I'm looking for, but how to use it in a c++ application? The idea is to get the FD of an opened socket by its port number and the pid . 回答1: Just open the files in /proc/net, like /proc/net/tcp, /proc/net/udp, etc. No need to slog through the lsof sources. :) 回答2: If you don't want to copy/paste or reimplement chunks of the lsof code, and it doesn't build any useful libraries you could leverage, you

What's the fastest way using lsof to find a single open file?

こ雲淡風輕ζ 提交于 2019-11-30 20:29:09
I'm trying to test a single file if it is open using lsof. Is there a faster way than this? $result = exec('lsof | grep filename | wc -l'); if($result > 0) { //file is open } I'm thinking their must be a way to just test for one file if you know the filename. All I really need is a true or false. R Samuel Klatchko I found a much better way. With lsof (tested on version 4.63), you can directly query a specific file: if lsof filename > /dev/null; then # file is open fi Well, you can skip wc and use the return value of grep (grep returns 0 (i.e. success) if it detects the pattern and 1 (i.e. not

工程师追查线上问题(或运维)常用的shell命令

落花浮王杯 提交于 2019-11-30 20:20:31
shell本身是非常强大的,而工程师在追查线上问题时,如何能够更加快速更加有效的定位问题,用好shell非常关键。下面是我总结的几个在追查问题时常用的shell命令。大家可以参考下。大家有好的命令,也可以在这之上完善。 1、日志分析类: (1) cut -d ‘’ -f4 wap_log |sort |uniq -c 比如cpu idle急剧下降,要看一下当前的流量如何,是否是由于流量突增引起。可以使用该命令: 其中wap_log是日志名,4 是时间那一列,简单介绍下这个shell命令。 这是一行实例日志行: 218.203.63.190 - - [09/Feb/2012:12:15:03 +0800] "GET /view/102795.html HTTP/1.1" 200 4557 "-" "MAUI WAP Browser" "jid=XKYGPzLXwG!70061790;$path=/" 76 在这个shell命令中,cut先根据空格分隔符对日志行进行分割,然后取第4个field,也就是时间,取到时间后,对时间进行排序,排序后,再去重,计数。这样就可以输出每个时间段的日志浏览量。 下面是改shell的输出实例: 18 [09/Feb/2012:12:54:51 14 [09/Feb/2012:12:54:52 11 [09/Feb/2012:12:54:53 10 [09

lsof should give all open files for a set of pids

a 夏天 提交于 2019-11-30 11:59:51
I have 30 instances of a process running on a server and want to log open files for each process for analysis. I ran the following command: * ps auwwx | grep PROG_NAME | awk '{print $2}' | xargs lsof -p | less It complaints that, "lsof: status error on : No such file or directory" However, if I run lsof -p < pid > it gives me the list of open files for that process . How can I get a list of all open files for all 30 instances of the process on a FreeBSD machine. Moreover, I do not want the shared libraries to be listed. If I do -d "^txt" it isn't showing some other db files which I want to be

查看打开文件数(lsof)

倾然丶 夕夏残阳落幕 提交于 2019-11-29 22:44:40
查看所有进程的文件打开数 lsof |wc -l 查看某个进程打开的文件数 lsof -p pid |wc -l 查看和修改linux系统打开文件数设置方法 /etc/security/limits.conf:在该文件的最后加入,最大文件打开数: * soft nofile 65535 * hard nofile 65535 /etc/pam.d/login:在该文件的最后加入: session required /lib/security/pam_limits.so 重新登录后使用命令查看:ulimit -n,是否和设置保持一致 转载于:https://my.oschina.net/u/2613449/blog/603138 来源: https://blog.csdn.net/choukuad381324/article/details/100945572

react-native debug的时候遇到不能使用ip地址真机测试,但是可以使用localhost

自作多情 提交于 2019-11-29 19:16:22
今天将mac电脑升级到10.14.6版本后,发现打开react-native的jsServer之后,无法通过真机拉下js代码,使用浏览器输入url也无法拉下来,只有将ip地址改为localhost才可以。 通过使用lsof -i:8081 命令发现该端口被系统某个进程占用,只要使用kill命令,将该进程kill掉就可以正常了。 来源: https://blog.csdn.net/xy371661665/article/details/100896114

lsof should give all open files for a set of pids

Deadly 提交于 2019-11-29 17:42:26
问题 I have 30 instances of a process running on a server and want to log open files for each process for analysis. I ran the following command: * ps auwwx | grep PROG_NAME | awk '{print $2}' | xargs lsof -p | less It complaints that, "lsof: status error on : No such file or directory" However, if I run lsof -p < pid > it gives me the list of open files for that process . How can I get a list of all open files for all 30 instances of the process on a FreeBSD machine. Moreover, I do not want the

Linux查看端口占用情况

会有一股神秘感。 提交于 2019-11-29 11:39:07
以下命令如果不存在,使用yum install -y xxx安装。 一、netstat或ss命令 1. netstat 注:yum install -y net-tools netstat -anlp | grep 8888 # netstat命令各个参数说明如下: # -t : 指明显示TCP端口 # -u : 指明显示UDP端口 # -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序) # -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。 # -n : 不进行DNS轮询,显示IP(可以加速操作) 对输出的每一项进行说明: (1) Proto:协议名(tcp协议还是udp协议) (2) Recv-Q:网络接收队列。表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走。如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。通常应该为0,如果不为0可能是有问题的。packets在两个队列里都不应该有堆积状态。可接受短暂的非0情况。 (3) Send-Q:网路发送队列。对方没有收到的数据或者说没有Ack的,还是本地缓冲区。如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。通常应该为0