Это - известная проблема с файловыми системами копии на записи: Для удаления файла файловая система сначала должна выделить блок и зафиксировать новое состояние, прежде чем это сможет выпустить богатство пространства, содержавшего в файле, просто будучи удаленным.
(Это не проблема файловых систем со снимками, поскольку существуют другие способы реализовать их, чем просто копия на записи),
Выходы из сжатия:
Я столкнулся с тем же прерыванием несколько лет назад и не имел никаких снимков, которые я, возможно, выпустил для освобождения меня. Посмотрите, что поток в ZFS Обсуждает, где эта проблема была обсуждена подробно.
Второе spawn
в Вашем Ожидать сценарий должен быть send
, необходимо заключить в кавычки то, что Вы отправляете в порожденный процесс, и Вы бросили CR (Возврат каретки, иначе Войдите):
send "put $FILE\r"
Кроме того, Вы, вероятно, не хотите interact
команда. Это, вероятно, имеет больше смысла в его месте:
expect "sftp>"
send "exit\r"
где происходит пароль или аутентификация. Конечно, сначала вам нужно пройти аутентификацию, а затем вы не должны получить эту ошибку.