Удаление nohup - файл во время выполнения

Хорошо.

Пользователь может иметь несколько токенов FCM, поскольку токены привязаны к устройству и не имеют представления о сущности пользователя.

Итак, вы можете создать массив токенов внутри каждого пользовательского документа, и когда пользователь авторизуется на получение уведомления на своем устройстве, вы добавляете новый токен в этот массив.

Вы можете написать облачную функцию notifyUser, в которой вы передаете идентификатор userSender и идентификатор userRecipient. И тогда вы можете просто получить пользовательский объект userRecipient и затем вызвать функцию messaging () из SDK администратора, чтобы отправить вашу полезную нагрузку на все устройства (на основе токена пользователя).

7
задан Léo Léopold Hertz 준영 4 May 2009 в 16:40
поделиться

2 ответа

Удаление файла в UNIX делает две вещи:

  • он удаляет запись каталога для него.
  • если ни у одного процесса нет открытого и никакие другие записи каталога не указывают на него (жесткие ссылки ), он освобождает место.

Ваш процесс nohupped с удовольствием продолжит запись в файл, который раньше назывался nohup.out, но теперь известен как не что иное, как дескриптор файла в этом процессе.

Вы даже можете пусть другой процесс создаст nohup.out, он не будет мешать первому.

Когда все жесткие ссылки исчезнут и все процессы закрыли его, дисковое пространство будет восстановлено.

10
ответ дан 6 December 2019 в 12:54
поделиться

Это стандартное поведение в Unix.

Когда вы удалили файл, последняя ссылка в файловой системе была удалена, но файл все еще был открыт, и поэтому вывод находил (в данном случае) была записана на дисковые блоки в пуле буферов ядра и, возможно, даже на диск. Но у файла не было имени. Когда find завершился, ни один процесс или файл (inode) не ссылался на файл, поэтому пространство было освобождено. Это один из способов создания временных файлов, которые исчезают при выходе из программы - открыв файл, а затем удалив его. (Это предполагает, что вам не нужно имя для файла; ясно, что если вам нужно имя для временного, этот метод не будет работать.)

2
ответ дан 6 December 2019 в 12:54
поделиться
Другие вопросы по тегам:

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