Ritajit Kundu Asked: 2018-11-14 09:10:24 +0800 CST2018-11-14 09:10:24 +0800 CST 2018-11-14 09:10:24 +0800 CST lsof 不显示我的 djvu 文件 772 我正在尝试打印当前在ordjvu上运行的文件名,但是当我这样做时,我在终端中没有得到任何输出,其中相同的命令适用于文件。okularatrillsof | grep ".djvu$"pdf grep lsof 1 个回答 Voted Best Answer bitinerant 2018-11-14T09:23:06+08:002018-11-14T09:23:06+08:00 如果应用程序以其他用户身份运行,您将需要sudo: sudo lsof | grep ".djvu$" -i如果某些文件扩展名是大写的,则需要grep忽略大小写: sudo lsof | grep -i ".djvu$" 开头的.djvu$点将匹配任何字符(尽管在您的情况下这可能不会导致误报);你可能的意思是\.djvu$ 我建议将正则表达式放在单引号而不是双引号中,因为美元符号对 Linux shell 具有特殊含义: sudo lsof | grep -i '\.djvu$' (由于 qubert 的评论而更新ps至pgrep)如果应用程序将文件读入内存然后关闭它,lsof则不会看到它,但ps(进程列表)会;pgrep是搜索正在运行的进程的合适工具;尝试: pgrep --list-full --full --ignore-case '\.djvu'
如果应用程序以其他用户身份运行,您将需要
sudo
:-i
如果某些文件扩展名是大写的,则需要grep
忽略大小写:开头的
.djvu$
点将匹配任何字符(尽管在您的情况下这可能不会导致误报);你可能的意思是\.djvu$
我建议将正则表达式放在单引号而不是双引号中,因为美元符号对 Linux shell 具有特殊含义:
(由于 qubert 的评论而更新
ps
至pgrep
)如果应用程序将文件读入内存然后关闭它,lsof
则不会看到它,但ps
(进程列表)会;pgrep
是搜索正在运行的进程的合适工具;尝试: