У меня есть запущенный процесс, который был запущен с помощью
./process | tee -a output.txt
. Поскольку это довольно длительный процесс, выходной файл большой и каждый раз, когда я его открываю, я должен его ждать. для загрузки, а затем прокручивать вниз, что не удобно. Поэтому я решил переместить текущий контент в файл резервной копии output_bak.txt и оставить текущий output.txt пустым, чтобы он содержал только новый вывод. К сожалению, это не сработало. Этот процесс больше не записывается в output.txt.
Мой вопрос в том, как разрешить процессу продолжать писать output.txt?
Заранее спасибо за вашу помощь! [ ! d3]
Обновление. То, что я подразумевал под «перемещением содержимого», фактически копирует содержимое файла в другой файл, а затем удаляет содержимое в текущем файле. Точнее, что я сделал: open output.txt, нажмите Ctrl + A, чтобы скопировать содержимое, затем Ctrl + V в output_bak.txt, затем вернуться к output.txt и Ctrl + A, затем удалить и сохранить.
Вы не можете. Когда вы открываете файл, процесс получает дескриптор файла. Ручка файла не изменяется, даже если файл перемещен или удален. Таким образом, процесс будет записываться в тот же дескриптор файла, который вы переместили в output_bak.txt. Вам нужно будет закрыть файл и снова открыть его.
Вы можете использовать утилиты unix, такие как tail, чтобы просмотреть конец файла. tail -n 20 output.txt выведет последние 20 строк из output.txt.
Хвост также может отображать живое изображение. tail -f output.txt покажет содержимое, как оно записано в файл, в непрерывном потоке, пока вы не прервете его с помощью Ctrl + c.
Это, кстати, работает logrotate. Переместите файл, создайте новый пустой файл и перезапустите процесс записи в файл журнала.
Вы не можете. Когда вы открываете файл, процесс получает дескриптор файла. Ручка файла не изменяется, даже если файл перемещен или удален. Таким образом, процесс будет записываться в тот же дескриптор файла, который вы переместили в output_bak.txt. Вам нужно будет закрыть файл и снова открыть его.
Вы можете использовать утилиты unix, такие как tail, чтобы просмотреть конец файла. tail -n 20 output.txt выведет последние 20 строк из output.txt.
Хвост также может отображать живое изображение. tail -f output.txt покажет содержимое, как оно записано в файл, в непрерывном потоке, пока вы не прервете его с помощью Ctrl + c.
Это, кстати, работает logrotate. Переместите файл, создайте новый пустой файл и перезапустите процесс записи в файл журнала.