Что означает код errno 26 (ETXTBSY) в Solaris?

 
Также может означать:
КонстантаТипОС
ERROR_NOT_DOS_DISKОшибка WindowsWindows
KERN_INVALID_PROCESSOR_SETКод возврата ядра macOSmacOS
ippStsOvermuchStringsСтатус Intel IPPЛюбая
ETXTBSYerrnoLinux
ETXTBSYerrnomacOS
MEMORY_MANAGEMENTКод BSODWindows
Предыдущий Следующий
ETXTBSY EFBIG

ETXTBSY

Выполняемый текст и замена файла

В Solaris ETXTBSY имеет значение errno 26. Основное сообщение: Текстовый файл занят, однако полезный диагностический контекст уже краткого сообщения: Solaris отказалась записывать или изменять файл, поскольку он используется как исполняемый текст.

Для обновления исполняемых файлов безопаснее создать новый файл и атомарно заменить имя после завершения записи. Попытка писать поверх уже используемого executable сохраняет конфликт и может повторно вернуть ETXTBSY.

Что проверить

  • Ищите попытки перезаписать исполняемый файл, общую библиотеку или отображённый сегмент кода, пока он используется.
  • Используйте атомарную замену: записывайте новый файл и переименовывайте его на место старого.
  • Отделяйте гонки развёртывания от ошибок разрешений вроде EACCES и ошибок файловой системы только для чтения вроде EROFS.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.