| Предыдущий | Следующий |
| ETXTBSY | EFBIG |
ETXTBSY
Выполняемый текст и замена файла
В Solaris ETXTBSY имеет значение errno 26. Основное сообщение: Текстовый файл занят
, однако полезный диагностический контекст уже краткого сообщения: Solaris отказалась записывать или изменять файл, поскольку он используется как исполняемый текст.
Для обновления исполняемых файлов безопаснее создать новый файл и атомарно заменить имя после завершения записи. Попытка писать поверх уже используемого executable сохраняет конфликт и может повторно вернуть ETXTBSY.
Что проверить
- Ищите попытки перезаписать исполняемый файл, общую библиотеку или отображённый сегмент кода, пока он используется.
- Используйте атомарную замену: записывайте новый файл и переименовывайте его на место старого.
- Отделяйте гонки развёртывания от ошибок разрешений вроде EACCES и ошибок файловой системы только для чтения вроде EROFS.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.