Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
6 / 5 / 1
Регистрация: 20.12.2020
Сообщений: 92

Работа fuser

16.03.2024, 13:26. Показов 664. Ответов 9

Студворк — интернет-сервис помощи студентам
Добрый день, стоит такая задача.
Открыть файл home/d/Balmont.txt двумя разными редакторами (выбрал vi и nano) и вывести процессы, работающие с Balmont.txt с помощью fuser.
Соответственно в двух окнах терминала открыл файл двумя редакторами, а в третьем прописал:
Bash
1
fuser -v Balmont.txt
.
По итогу, ничего не вывелось.
Пробовал всё делать в одном окне, переводя процессы редакторов в фоновый режим, всё равно ничего не выводится. В чём ошибка?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.03.2024, 13:26
Ответы с готовыми решениями:

Fuser -s ./ или почему лагает сервер шо аж кони рыгают?
Добрый день. Ох пофиксиш одно вылезет другое :) И так всю жизнь как я понимаю. Скажите мне пожалуйста, кто может объяснить не...

HP LaserJet Pro M521dn ошибка: "50.8 Fuser Error Turn off then turn on"
Помогите разобраться с ошибкой. Принтер периодически во время печати выдает сообщение:"50.8 Fuser Error Turn off then turn on", я...

Работа в игровом проекте. Работа с php. Работа с платежными системами. Работа с базами данных
Работа в игровом проекте. Работа с php. Работа с платежными системами. Работа с базами данных. Стоимость: Договорная Срок...

9
 Аватар для volodin661
6686 / 2278 / 347
Регистрация: 10.12.2013
Сообщений: 7,871
16.03.2024, 14:58
В открытой сессии vim посмотри на вывод команды :sw

и данное полученное имя swap-файла подсунь fuser

Добавлено через 11 минут
(
удобнее даже так: сначала выполни команду
:redir @*
а затем
:sw
и искомое имя своп-файла окажется в clipboard
)
0
Windows must die
670 / 848 / 102
Регистрация: 23.11.2021
Сообщений: 4,930
Записей в блоге: 15
16.03.2024, 15:16
А ты из той же самой директории fuser вызвал? Попробуй абсолютный путь.
0
6 / 5 / 1
Регистрация: 20.12.2020
Сообщений: 92
16.03.2024, 16:45  [ТС]
Да, все из домашнего каталога делаю.

Добавлено через 6 минут
Спасибо за объяснения, вот задание:
"Откройте на редактирование один и тот же файл двумя редакторами. Определите PID и имя владельца процессов, которые используют данный файл. С помощью сигнала SIGTERM завершите процессы, которые используют данный файл с выдачей запроса на подтверждение от пользователя. "
По всем пунктам видно, что нужно использовать команду
Bash
1
fuser -kiv myfile
Я бы сделал, как вы описали, но это противоречит заданию, где нужно убить всех зайцев одной командой. Плюс vim и nano блокируют файл (то есть, в любом случае, работают с ним), следовательно эти два процесса для файла myfile должны быть видны в fuser.
0
 Аватар для volodin661
6686 / 2278 / 347
Регистрация: 10.12.2013
Сообщений: 7,871
16.03.2024, 17:33
Цитата Сообщение от Bacchus Посмотреть сообщение
Плюс vim и nano блокируют файл
не блокируют, если верить собственным глазам и выводу от fuser

Добавлено через 22 минуты
fusertest
Bash
1
2
perl -e 'open FILE, ">>myfile.txt" or die $!; sleep(10)' &
fuser -fu myfile.txt
0
6 / 5 / 1
Регистрация: 20.12.2020
Сообщений: 92
16.03.2024, 18:34  [ТС]
Цитата Сообщение от volodin661 Посмотреть сообщение
не блокируют, если верить собственным глазам и выводу от fuser
Тогда какие стандартные редакторы блокируют доступ к файлу или непосредственно используют его?
Как я читал,
"Vim - мощный текстовый редактор командной строки, который может блокировать файл при его открытии.
Emacs - другой мощный текстовый редактор, который также может блокировать файл при его открытии.
Nano - легкий текстовый редактор, который может блокировать файл, если он открыт в режиме редактирования."
Да и nano, если открыт vim, говорит, что файл занят другим процессом.
0
Windows must die
670 / 848 / 102
Регистрация: 23.11.2021
Сообщений: 4,930
Записей в блоге: 15
16.03.2024, 18:58
Цитата Сообщение от Bacchus Посмотреть сообщение
Плюс vim и nano блокируют файл
Ничего подобного! flock они не используют. А даже если одна использует, другая, судя по всему - нет. Ну, а т.к. блокировка эта лишь "консультативная", то на нее смело можно класть.
В линуксе есть лишь одно средство, позволяющее заблокировать файл так, чтобы уж точно никто больше не имел к нему доступа (кроме ядра, естественно): вызвать unlink и спокойно работать с файлом (правда, в случае падения утилиты файл исчезнет).
А в мане, похоже, имеется в виду условная блокировка - как та же "либра" во время редактирования файла создает в той же директории специальный файлик-метку, говорящий другому запущенному процессу убогого "офиса", что файл уже редактируется (а в файлик пишется PID процесса, который файл редактирует - чтобы если он упадет, не было дедлоков).
1
505 / 158 / 49
Регистрация: 27.02.2016
Сообщений: 820
16.03.2024, 20:03
Цитата Сообщение от Eddy_Em Посмотреть сообщение
если одна
вы совершенно правы
Code
1
vi misc.txt
изменим чтонибудь в файле misc.txt
появится
Code
1
.misc.txt.swp
и тогда
и тогда
и тогда


Code
1
fuser -fvu .misc.txt.swp
Code
1
2
3
                     USER        PID ACCESS COMMAND
/home/sergueik/Desktop/.misc.txt.swp:
                     sergueik  21511 F.... (sergueik)vi

Code
1
ps -www -P 21511
Code
1
2
  PID PSR TTY      STAT   TIME COMMAND
21511   1 pts/2    T      0:00 vi misc.txt
1
Windows must die
670 / 848 / 102
Регистрация: 23.11.2021
Сообщений: 4,930
Записей в блоге: 15
16.03.2024, 21:11
skouzmine, провел эксперимент. Действительно, vim не держит редактируемый файл (видимо, в целях безопасности - если упадет, чтобы файл не повредить). Видимо, файл лишь перезаписывается при сохранении, а все время редактирования целиком сидит в оперативке!
А вот если этот файл начать просматривать при помощи less или more, то все ОК: fuser покажет, что файл открыт ими.

Одним словом, контрольная работа невыполнима, т.к. противоречит принципам утилит-редакторов. Открыл файл при помощи mc - та же петрушка! Файл полностью переписывается в оперативку и с ним работает пользователь. fuser не показывает ничего. Попытался открыть 16-гиговый файл в редакторе mc: пошла медленная "загрузка" - т.е. он таки пытается этот файл в оперативку скинуть. И если файл будет больше размера доступной ОЗУ, то, подозреваю, ничего не выйдет. Для этих целей нужны спецредакторы, которые именно открывают файл и работают с ним (но это чревато серьезными повреждениями файла при смерти процесса, а смерть может не только от случайного сегфолта наступить или от kill, но и от oom-killer, который следит, чтобы оперативку не засоряли всякие эдакие).
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
16.03.2024, 22:48
Лучший ответ Сообщение было отмечено Bacchus как решение

Решение

Bash
1
2
3
tail -f Balmont.txt &
tail -f Balmont.txt &
fuser -v Balmont.txt
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.03.2024, 22:48
Помогаю со студенческими работами здесь

Работа с строками,Работа со структурными типами данных,Работа с файлами!!
Помогите написать программы для следующих заданий....буду очень благодарен.) 1)Разработать программу которая удаляет все слова в...

Работа - проведение обучающих семинаров по C#. Работа по выходным дням ( сб-вс - 32 часа). От 30 000р.
Обязанности - проведение обучающих семинаров по C# Базовый (начальный уровень). Опыт преподавания не обязателен, главное чтобы вы не...

Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления
Помогите пожалуйста найти летиратуру, в которой бы описывались работа с событиями,работа со всеми элементами управления(toolbox).И если...

Количество подведенного и отведенного тепла, работа сжатия, работа расширения
Определить количество подведенного и отведенного тепла, работу сжатия, работу расширения, полезную работу и КПД цикла предыдущей...

Работа с ems api: корректная работа при указании веса.
Здравствуйте! Есть такой код, для работы с ems api (http://www.emspost.ru/ru/corp_clients/dogovor_docements/api/) <!DOCTYPE html...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru