руководство по выживанию

<p>lsof - невероятно мощная утилита командной строки для систем unix. в нем перечислены открытые файлы с отображением информации о них. а поскольку в unix-системах большинство всего является файлом, lsof может дать системным администраторам массу полезных диагностических данных.</p><p>каковы некоторые из наиболее распространенных и полезных способов использования lsof, и какие параметры командной строки используются для этого?</p>

<pre><code>lsof -i :port </code></pre><p>скажет вам, какие программы прослушивают определенный порт.</p>

<pre><code>lsof +d /some/directory </code></pre><p>будет рекурсивно отображать все файлы, открытые в каталоге. + d только для верхнего уровня.</p><p>это полезно, когда у вас высокий процент ожидания ввода-вывода, связанный с использованием определенного fs, и вы хотите увидеть, какие процессы проверяют ваш ввод-вывод.</p>

<p><code>lsof -i</code> предоставит список открытых сетевых сокетов. параметр <code>-n</code> запрещает поиск dns, что полезно, если ваше сетевое соединение медленное или ненадежное.</p>

<p>посмотрите, какие файлы запущены запущенным приложением или демоном:</p><pre><code>lsof -p pid </code></pre><p>где <strong>pid</strong> - идентификатор процесса приложения или демона.</p>

<pre><code>lsof +f -- /mountpoint </code></pre><p>перечисляет процессы, использующие файлы на монтируемом в/mountpoint. особенно полезно для определения того, какие процессы используют установленный usb-накопитель или cd/dvd.</p>