Почему именованный канал не становится удаленным после системного перезапуска?

Я не делаю вообще знают о свойствах инструментов установщика Windows, но взглянули на Отклонить диспетчер пакетовGNU/дистрибутив Linux NixOS, созданный вокруг этого). Это показывает атомарные обновления, так как это не делает при всей перезаписи ничего старого.

Другой способ пойти использует поддержку снимка файловой системы, например, как yum с btrfs снимки (также snapper на OpenSUSE; dpkg может иметь pre-/post-actions также, таким образом, это могло быть сделано с ним также, я предполагаю).

Редактирование Используя снимки файловой системы, ./configure && make && make install является довольно транзакционным, также...

5
24.07.2013, 19:08
2 ответа

Нет они записаны в диск. Команда mkfifo pipe21 создает соответствующее устройство в Вашей файловой системе. Часто времена эти устройства сохранены под /dev но именованные каналы (иначе. FIFOS), должны не обязательно быть сохранены в этом каталоге.

выборка от статьи Википедии

Именованный канал может быть удален точно так же, как любой файл:
$ rm my_pipe

Пример

Сделайте FIFO:

$ pwd
/home/saml

$ mkfifo pipe21

Проверьте устройство FIFO:

$ ls -l | grep pipe
prw-rw-r--   1 saml saml        0 Jul 24 12:22 pipe21

$ file pipe21 
pipe21: fifo (named pipe)

Удалите устройство:

$ rm pipe21 

$ ls -l | grep pipe

Ссылки

10
27.01.2020, 20:31
  • 1
    /dev не должен содержать все устройства в системе - совершенно законно иметь их в другом месте. –  Chris Down 24.07.2013, 19:18
  • 2
    @ChrisDown - спасибо я забыл, что они когда-либо еще могут быть созданы в других каталогах, таких как/tmp или где. Обновленный мой ответ, еще раз спасибо за обратную связь! –  slm♦ 24.07.2013, 19:19

Именованный канал является частью файловой системы. Что-либо, что имеет имя файла, является частью файловой системы. Если это, оказывается, файловая система в персистентном устройстве хранения данных (т.е. на диске), то это переживает системную перезагрузку.

Запись файловой системы для именованного канала просто имеет имя, обычные метаданные (время, полномочия, и т.д.), и флаг, который говорит, “это - именованный канал”. Данные, которые проходят канал, не переходят к файловой системе. Но сам именованный канал находится в файловой системе.

11
27.01.2020, 20:31

Теги

Похожие вопросы