No macOS, com que frequência é / tmp excluído?


95

Com que frequência / tmp é excluído? Eu pensei que era limpo o tempo de inicialização e a cada três dias se você não reiniciar, mas não consigo encontrar nenhuma fonte autorizada para isso.

Estou executando o mais recente 10.6. (Suponho que estaria interessado em alterações nesse comportamento nas versões anteriores do sistema operacional.)


2
E as pastas temporárias por usuário /var/folders/?
adib 10/09/18

Respostas:


117

Resposta curta: por padrão, os arquivos que não são acessados ​​em três dias são excluídos de / tmp

Resposta longa:

  1. launchdconfigura /usr/sbin/periodic dailypara ser executado todos os dias às 3:15 (definição em /System/Library/LaunchDaemons/com.apple.periodic-daily.plist).
  2. /usr/sbin/periodic dailyexecuta os scripts /etc/periodic/daily, inclusive 110.clean-tmps.
  3. 110.clean-tmpsusa findpara excluir arquivos não acessados (usando o -atimee -mtimeparâmetros para find) em $daily_clean_tmps_daysdias que não estão listadas na $daily_clean_tmps_ignore.
  4. Essas duas variáveis ​​(e outras variáveis ​​relacionadas) são definidas em /etc/periodic.conf. (Desde o OS 10.7, existe um arquivo /etc/defaults/periodic.confque define os padrões , mas para sobrescrever esses padrões, você ainda deve criar /etc/periodic.conf- consulte a página de manual periodic.conf (5).) Se você não modificou este arquivo, $daily_clean_tmps_daysestá definido como 3.

10
Nota no 10.7 periodic.conf mudou-se para / etc / defaults.
Dan

1
O mesmo se aplica a $ TMPDIR?
Ccnokes

1
Não, não acredito que sim. Não há referência a $TMPDIRnenhum dos arquivos de configuração mencionados.
Doug Harris

3
Nota: esta resposta tem 7,5 anos neste momento, o macOS está agora em 10.13 e eu estou usando o 10.11. Embora a resposta curta ainda esteja correta (3 dias), alguns dos detalhes foram definitivamente alterados. Por exemplo, em 10.11, não vejo a linha que programa isso para as 3:15 da manhã /System/Library/LaunchDaemons/com.apple.periodic-daily.plist. Eu não tive o tempo para aprender mais sobre o processo de inicialização para determinar como /tmpé limpa no momento da inicialização (por comentário por @ Reb.Cabin acima)
Doug Harris

1
Usando o OSX 10.14.5, pode confirmar que / tmp parece ter sido eliminado na reinicialização.
karlos 23/07
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.