Как синхронизировать добавление записей в сценариях оболочки?

Каким-то образом оказалось, что машине не понравился формат DVD. При предъявлении USB-накопителя, отформатированного в FAT32, все работало нормально. Не могу объяснить, почему это произошло, так как ничем не отличался от других машин.

2
26.05.2020, 16:33
2 ответа

Скорее всего, вам вообще не нужно заботиться о блокировке. Условия для этого

  1. что ваша система не очень старая Linux (<3.14)
  2. что объем данных, которые вы записываете из одного процесса, не превышает 32 КБ (или, скорее,:getconf SSIZE_MAX)

См.https://serverfault.com/questions/599486/what-is-the-size-of-an-atomic-write-to-disk-on-my-system

-1
18.03.2021, 23:32

Просто сделай:

{
  flock 1 &&
    echo something
} >> "$file"

Блокировки исчезают, когда процесс в любом случае прекращается, так что вам не нужно беспокоиться о kill -s KILL.

2
18.03.2021, 23:32

Теги

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