Para responder às perguntas:
- O
/tmp
deve ser esvaziado automaticamente: Sim - Devemos excluir Arquivos em
/tmp
de forma regular e manual: Não , seu sistema cuidará deles.
Se você se perguntar:
- Posso excluir arquivos de
/tmp
por qualquer motivo (precisar de espaço, desejar remover rastreamentos, etc.): Depende , leia em .
Padrão de hierarquia do sistema de arquivos (FHS) estados :
The /tmp directory must be made available for programs that require temporary files.
Programs must not assume that any files or directories in /tmp are preserved between invocations of the program.
/var/tmp/
tem um objetivo semelhante , mas não deve ser deletado durante a reinicialização.
Não é garantido que /tmp/
ou /var/tmp/
sejam limpos regularmente. Isso pode depender da sua distribuição e configurações, embora a maioria dos sistemas faça alguma limpeza de tempos em tempos. Consulte comentário por mike
.
Se você precisar excluir um arquivo em / tmp , veja primeiro se o arquivo está em uso. Você pode fazer isso facilmente com:
lsof /tmp/file_to_delete
Se você tiver direitos para fazer isso, isso mostrará o processo que contém o identificador para esse arquivo, como nome do processo, PID e tipo do arquivo. Para mostrar realmente todos os processos, prefixar sudo
ou executar como usuário root .
lsof +D /tmp
mostrará todos os arquivos em /tmp
e diretórios abaixo ( +D
) que estão abertos no momento.
Claro que você não deve excluir esses arquivos.
Na verdade, quando você exclui um arquivo que ainda está aberto - se tiver os direitos para fazer isso - ele fica inacessível a partir do namespace do sistema de arquivos, mas ele ainda existe para os processos que possuem um identificador de arquivo aberto. . Depois de fechar esse identificador, o arquivo não está mais acessível para esse processo e, se nenhum processo tiver o arquivo aberto, ele será finalmente excluído. Um processo não deve supor que o arquivo sobrevive entre as chamadas open
subseqüentes, mas os programadores são desleixados e você nunca sabe. Por essa razão, não é tão inteligente excluir arquivos que ainda estão sendo usados por alguns programas.