Hierarquia de arquivos do Linux - qual é a melhor localização para armazenar arquivos de bloqueio?

2

Eu quero sincronizar processos baseados em arquivos de bloqueio (arquivos / socket). Esses arquivos só devem ser removidos pelo usuário criador.

Existem muitas opções:

/dev/shm

/var/lock

/run/lock

/run/user/<UID>

/tmp

Qual é a melhor localização para esse fim? E de que maneira os locais acima devem ser usados?

    
por MCH 25.04.2016 / 12:36

2 respostas

4
  1. /dev/shm : não é nada além da implementação do conceito tradicional memória compartilhada . É um meio eficiente de passar dados entre programas. Um programa criará uma parte da memória, que outros processos (se permitido) podem acessar. Isso resultará em acelerar as coisas.

  2. /run/lock (anteriormente /var/lock ) contém arquivos de bloqueio , ou seja, arquivos que indicam que um dispositivo compartilhado ou outro recurso do sistema está em uso e contendo a identidade do processo (PID) que o utiliza; Isso permite que outros processos coordenem adequadamente o acesso ao dispositivo compartilhado.

  3. /tmp : é o local dos arquivos temporários, conforme definido no Padrão de hierarquia do sistema de arquivos , que é seguido por quase todas as distribuições Unix e Linux. Como a RAM é significativamente mais rápida que o armazenamento em disco, você pode usar /dev/shm de /tmp para o aumento de desempenho , se o seu processo for intensivo de E / S e usar extensivamente arquivos temporários.

  4. /run/user/$uid : é criado por pam_systemd e usado para armazenar arquivos usados pelos processos em execução para esse usuário.

Chegando à sua pergunta, você definitivamente pode usar o diretório /run/lock para armazenar seu arquivo de bloqueio.

    
por 25.04.2016 / 13:07
0

Crie um diretório em /run/lock e chmod it para 700, depois crie seus arquivos de bloqueio lá.

/var/lock no Linux Mint é um link para /run/lock (no Ubuntu, Linux Mint 17 e CentOS 7)

Eu só armazenaria coisas em /run/user/<UID> se os processos apenas fossem executados enquanto você estivesse logado.

    
por 25.04.2016 / 12:38