我正在使用linuxmint13xfce,我有一个名为wv.gold的文件,如果它被任何程序打开,我正在尝试检查bash(例如,我在sublime-text和gedit)在许多论坛上,人们说如果我运行lsof|grepfilename如果它是打开的,我应该得到0,如果它是关闭的,我应该得到256(1),但实际上,如果我运行使用,我什么也得不到(空字符串)grep"wv.gold",如果我使用grepgold来获取一个小列表。列表是这样的:bash2045usercwdDIR8,14096658031/home/user/path/to/dirbash2082usercwdDIR8,14
我正在使用linuxmint13xfce,我有一个名为wv.gold的文件,如果它被任何程序打开,我正在尝试检查bash(例如,我在sublime-text和gedit)在许多论坛上,人们说如果我运行lsof|grepfilename如果它是打开的,我应该得到0,如果它是关闭的,我应该得到256(1),但实际上,如果我运行使用,我什么也得不到(空字符串)grep"wv.gold",如果我使用grepgold来获取一个小列表。列表是这样的:bash2045usercwdDIR8,14096658031/home/user/path/to/dirbash2082usercwdDIR8,14
我的Java程序失败了Causedby:java.io.IOException:Toomanyopenfilesatjava.io.UnixFileSystem.createFileExclusively(NativeMethod)atjava.io.File.createNewFile(File.java:883)...这里是/etc/security/limits.conf中的关键行。他们将用户的最大文件设置为500k:rootsoftnofile500000roothardnofile500000*softnofile500000*hardnofile500000我运行lsof来
我的Java程序失败了Causedby:java.io.IOException:Toomanyopenfilesatjava.io.UnixFileSystem.createFileExclusively(NativeMethod)atjava.io.File.createNewFile(File.java:883)...这里是/etc/security/limits.conf中的关键行。他们将用户的最大文件设置为500k:rootsoftnofile500000roothardnofile500000*softnofile500000*hardnofile500000我运行lsof来
我想知道某个文件当前是否正在HDFS上使用或打开。我正在尝试使用以下命令,但它不起作用。有人可以给我正确的命令来执行此操作吗?hadoopfs-lsof/apps/hive/warehouse/db/table/.hive-staging_* 最佳答案 没有这样的命令(参见listofavailablecommands),但您可以使用hdfsfsck检查HDFS中的不一致性。与选项-openforwrite一起列出卡在OPENFORWRITE状态的文件hdfsfsck-files-blocks-locations-openforwr
在linux中,我使用lsof来检查文件是由哪个进程打开的。我有一个android设备,但没有lsof命令。是否可以找到打开特定文件的进程?我将使用它来验证MediaPlayer持有一个fd,但它应该被关闭。 最佳答案 穷人的lsof就是执行ls-l/proc/[processid]/fd不过,您需要成为root。 关于android-如何在没有lsof的情况下检查打开的文件,我们在StackOverflow上找到一个类似的问题: https://stacko
我的目的是检查特定进程打开的TCP和UDP。lsof-p$1|grep-E"TCP|UDP"(这在MacOS上运行良好)我从cydia在越狱iPad上安装了lsofbinary。当我在iOS设备(终端)上执行lsof时,它只是给我错误提示:信息错误:无法分配内存我尝试从各种为iOS(arm)编译lsofsources但是make失败了。还尝试安装.deb在iPad上,使用dpkg-i但它给出了错误,指出找不到ruby和其他依赖项。如果我能得到帮助让lsof在iOS上正常运行,那就太好了。或者lsof的工作替代方案。谢谢。 最佳答案
当我执行“lsof-nl|egrep"TCP|UDP"”以查看套接字状态时,我注意到我期望列出的套接字根本没有,但是当我执行“netstat--tcp”,它们被列出,但处于CLOSE_WAIT状态。到目前为止,我所知道的是CLOSE_WAIT状态表示我的应用程序现在有责任显式关闭此套接字(但有一个我正在尝试追踪的错误,它使此套接字保持在CLOSE_WAIT状态).我认为如果一个套接字存在,那么它一定有一个与之关联的打开文件描述符,所以我希望在lsof的输出中看到它。为什么我在那里看不到它?谢谢,桑德拉 最佳答案 您有足够的权限吗?(
如何让lsof生成数字端口信息而不是尝试将端口解析为服务名称?例如,我希望TCP*:http(LISTEN)给我TCP*:80(LISTEN)事实上,如果可能的话,我从不想再次在lsof打印输出中看到另一个服务名称。因此,如果有一种方法可以将数字端口设置为默认值,我也想了解如何做到这一点。 最佳答案 运行lsof-P。如果将选项与-i结合使用,请确保P在i之前:lsof-Pi根据manlsof,-P禁止将端口号转换为网络文件的端口名称。禁止转换可能会使lsof运行得更快一些。当端口名称查找工作不正常时,它也很有用。”
我们发现我们复杂的iPhone应用程序(ObjC、C++、JavaScript/WebKit)在异常情况下会泄漏文件描述符。我需要知道我们要打开哪些文件(按文件路径)。我想要BSD命令“lsof”之类的东西,当然,它在iOS4中不可用,至少对我来说是这样。理想情况下是C或ObjC函数。或工具,如shark或Instruments。只需要我们正在运行的应用程序的文件,而不是(与lsof一样)所有应用程序/进程的文件。我们对文件做了各种各样的事情,并且因“打开的文件太多”而失败的代码多年来一直没有改变,而且由于情况不寻常,这可能在几个月前就已经悄悄发生了。因此,无需提醒我查看打开文件的代码