Estou tentando imprimir os djvunomes dos arquivos que estão sendo executados atualmente em okularou atril, mas quando faço isso lsof | grep ".djvu$", não estou obtendo saída no terminal, onde o mesmo comando funciona para pdfarquivos.
se o aplicativo estiver sendo executado como um usuário diferente, você precisará sudo:
sudo lsof | grep ".djvu$"
-ise parte da extensão do arquivo for maiúscula , você precisa grepignorar maiúsculas e minúsculas:
sudo lsof | grep -i ".djvu$"
o ponto no início de .djvu$corresponderá a qualquer caractere (embora isso provavelmente não cause falsos positivos no seu caso); o que você provavelmente quer dizer é\.djvu$
Eu recomendo colocar expressões regulares entre aspas simples em vez de aspas duplas porque o cifrão tem um significado especial para o shell do Linux:
sudo lsof | grep -i '\.djvu$'
(atualizado de pspara pgrepgraças ao comentário de qubert) se o aplicativo ler os arquivos na memória e depois fechá-lo, lsofele não o verá, mas ps(lista de processos) verá; pgrepé a ferramenta adequada para pesquisar processos em execução; tentar:
se o aplicativo estiver sendo executado como um usuário diferente, você precisará
sudo
:-i
se parte da extensão do arquivo for maiúscula , você precisagrep
ignorar maiúsculas e minúsculas:o ponto no início de
.djvu$
corresponderá a qualquer caractere (embora isso provavelmente não cause falsos positivos no seu caso); o que você provavelmente quer dizer é\.djvu$
Eu recomendo colocar expressões regulares entre aspas simples em vez de aspas duplas porque o cifrão tem um significado especial para o shell do Linux:
(atualizado de
ps
parapgrep
graças ao comentário de qubert) se o aplicativo ler os arquivos na memória e depois fechá-lo,lsof
ele não o verá, masps
(lista de processos) verá;pgrep
é a ferramenta adequada para pesquisar processos em execução; tentar: