Jump to content

лсоф

лсоф
Оригинальный автор(ы) Виктор А. Абель
Первоначальный выпуск 1991 год ; 33 года назад ( 1991 ) [ 1 ]
Стабильная версия
4.99.3 [ 2 ] / 16 декабря 2023 г .; 8 месяцев назад ( 16 декабря 2023 г. )
Репозиторий github /lsof-org /lsof
Написано в С
Операционная система Linux , FreeBSD , macOS , Solaris , NetBSD и OpenBSD
Платформа Кросс-платформенный
Лицензия лицензией BSD Совместимость с [ 3 ]
Веб-сайт лсоф .readthedocs .что  Edit this on Wikidata

lsof — это команда, означающая «список открытых файлов», которая используется во многих Unix-подобных системах для сообщения списка всех открытых файлов и процессов, которые их открыли. Эта утилита с открытым исходным кодом была разработана и поддержана Виктором А. Абеллом, бывшим заместителем директора вычислительного центра Университета Пердью . Он работает и поддерживает несколько разновидностей Unix. [ 4 ]

Замена Linux, lsfd, включен в util-linux . [ 5 ]

В 1985 году Клифф Спенсер публикует ofiles команда. На его странице руководства написано: «ofiles – у кого открыт файл [...] отображается владелец и идентификатор любого процесса, обращающегося к указанному устройству». Спенсер скомпилировал его для 4.2BSD и ULTRIX . [ 6 ] Более того, в группе новостей net.unix-wizards он далее отмечает: [ 7 ]

Несмотря на всю эту болтовню про размонтирование активных файловых систем, Я разместил свою программу, чтобы указать, кто использует конкретная файловая система, «файлы» в net.sources.

В 1988 году командование fstat («статус файла») появляется как часть версии 4.3BSD-Tahoe . На его странице руководства написано: [ 8 ]

fstat идентифицирует открытые файлы. Файл считается открытым, если процесс открыл его, если это рабочий каталог для процесс, или если это активный текстовый файл. Если нет указаны параметры, fstat сообщает обо всех открытых файлах.

В 1989 году в comp.sources.unix Вик Абелл публикует порты файлов и команд fstat из 4.3BSD-Tahoe в « DYNIX ». 3.0.1[24] для Sequent Symmetry and Balance, SunOS 4.0 и ULTRIX 2.2". [ 9 ] [ 10 ] На протяжении многих лет разные люди разрабатывали и портировали файлы. Абель противопоставил эти команды следующим образом: [ 10 ]

Fstat похож на программу ofiles, которую я недавно представил. Нравиться ofiles, fstat идентифицирует открытые файлы. Ориентация немного отличается от файла ofiles: файл начинается с имени файла и проходит через структуры proc и пользователя для идентификации файла; fstat читает весь процесс и пользовательские структуры, отображающие информацию во всех файлах, опционально применение нескольких фильтров к выводу (включая фильтр одного имени файла).

В сочетании с netstat -aA и grep fstat идентифицирует процесс. связанный с сетевым подключением, так же, как и файлы.

В 1991 году Вик Абелл публикует lsof версии 1.0 для comp.sources.unix. Он отмечает: [ 1 ]

Lsof (для LiSt Open Files) перечисляет файлы, открытые процессами на выбранных Unix-системы. Это мой ответ тем, кто регулярно спрашивает меня, когда я собираюсь сделать fstat (comp.sources.unix том 18, номер 107) или файлы (том 18, номер 57), доступный в SunOS 4.1.1 или аналогичной версии.

Lsof — это полная переработка серии fstat/ofiles, основанная на SunOS. модель vnode. Таким образом, он был протестирован на AIX 3.1.[357], HP-UX [78].x, NeXTStep 2.[01], Sequent Dynix 3.0.12 и 3.1.2 и Sunos 4.1 и 4.1.1. Используя доступные методы доступа ядра, такие как nlist() и kvm_read(), lsof считывает записи таблицы процессов, пользовательские области и указатели файлов. базовые структуры, описывающие файлы, открытые процессами.

В 2018 году Вик Эббелл публикует lsof версии 4.92. В том же году он инициирует передачу ответственности. Он пишет: [ 11 ]

Позже в этом году мне исполнится 80 лет, и я думаю, что мне пора закончить работу над общими версиями lsof.

Код lsof помещается на Github и переносится обслуживание. [ 11 ] [ 12 ]

К открытым файлам в системе относятся файлы на диске, именованные каналы , сетевые сокеты и устройства, открытые всеми процессами. Эту команду можно использовать, когда диск не может быть отключен из-за использования (неуказанных) файлов. Можно просмотреть список открытых файлов (при необходимости отфильтровать их соответствующим образом), чтобы определить процесс, использующий файлы.

# lsof /var
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
syslogd     350     root    5w  VREG  222,5        0 440818 /var/adm/messages
syslogd     350     root    6w  VREG  222,5   339098   6248 /var/log/syslog
cron        353     root  cwd   VDIR  222,5      512 254550 /var -- atjobs

Чтобы просмотреть порт, связанный с демоном:

# lsof -i -n -P | grep sendmail
sendmail  31649    root    4u  IPv4 521738       TCP *:25 (LISTEN)

Из приведенного выше видно, что sendmail прослушивает свой стандартный порт «25».

Перечисляет IP-сокеты.
Не разрешайте имена хостов (без DNS).
Не разрешайте имена портов (указывайте номер порта вместо его имени).

Также можно перечислить сокеты Unix, используя lsof -U.

Выход Lsof

[ редактировать ]

Вывод lsof описывает:

  • идентификационный номер процесса (PID), открывшего файл;
  • идентификационный номер группы процессов (PGID) процесса (необязательно);
  • идентификационный номер родительского процесса (PPID) (необязательно);
  • команда, которую выполняет процесс;
  • владелец процесса;
  • для всех файлов, используемых процессом, включая исполняемый текстовый файл и используемые им общие библиотеки:
    • номер файлового дескриптора файла, если применимо;
    • режим доступа к файлу;
    • статус блокировки файла;
    • номера устройств файла;
    • номер индексного дескриптора файла;
    • размер или смещение файла;
    • имя файловой системы, содержащей файл;
    • любые доступные компоненты пути к файлу;
    • имена компонентов потока файла;
    • локальные и удаленные сетевые адреса файла;
    • состояние файла в сети TLI (обычно UDP);
    • состояние TCP, длина очереди чтения и длина очереди записи файла;
    • длина чтения и записи TCP-окна файла (только Solaris); и
    • другие значения, специфичные для файла или диалекта.

Полный список опций см. на странице руководства Lsof(8) Linux. [ 13 ]

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б «v25i002: lsof — преемник fstat и ofiles» . комп.источники.unix.
  2. ^ «Релиз 4.99.3» . 16 декабря 2023 г. Проверено 17 декабря 2023 г.
  3. ^ Часто задаваемые вопросы по lsof, 1.9 Существует ли лицензия lsof?
  4. ^ В. Ричард Стивенс; Билл Феннер; Эндрю М. Рудофф (2003), Сетевое программирование Unix: API сетевых сокетов , Addison-Wesley Professional, ISBN  978-0-13-141155-5
  5. ^ RFC: lsfd, новая замена lsof # 1418, специально предназначенная для Linux.
  6. ^ Спенсер, Клифф. "офайлы(8)" . groups.google.com . чистые.источники.
  7. ^ Спенсер, Клифф. « Офайлы» опубликованы в net.sources» . groups.google.com . net.unix-мастера.
  8. ^ «ФСТАТ(8)» . www.tuhs.org . 4.3BSD-Тахо.
  9. ^ «v18i057: ПЕРЕСМОТРЕННЫЕ файлы, не требуется исходный код Sun» . комп.источники.unix.
  10. ^ Перейти обратно: а б «v18i107: Показать статус всех открытых файлов» . комп.источники.unix.
  11. ^ Перейти обратно: а б «lsof переехал на GitHub и выпустил новый выпуск · Issue #39572 · Homebrew/homebrew-core» . Гитхаб .
  12. ^ "lsof Maintenance.md" . Гитхаб . lsof-org. 10 апреля 2023 г.
  13. ^ "лсоф" . Проверено 16 июля 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 002b277f5a67f1b8dbac743487e9a031__1699799100
URL1:https://arc.ask3.ru/arc/aa/00/31/002b277f5a67f1b8dbac743487e9a031.html
Заголовок, (Title) документа по адресу, URL1:
lsof - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)