Найти текущий процесс в определенном каталоге [duplicate]

Ответ Бруно только наполовину правильный.

После установки dconf вы должны перейти к приложениям> индикатор-сессия

Поставьте галочку для элемента «подавлять-выходить из системы»,

Это будет работать для Unity в Ubuntu 11.10, но не для Gnome 3 или Gnome Classic.

22
задан 6 November 2010 в 23:05

36 ответов

открыть терминал:

fuser -c /media/KINGSTON

Он выведет что-то вроде этого:

/media/KINGSTON/: 3106c 11086

Это даст вам pid процессов, использующих этот том. Дополнительный персонаж в конце pid даст дополнительную информацию. (c в 3106c)

c - процесс использует файл в качестве текущего рабочего каталога m - файл сопоставляется с mmap o - процесс использует его как открытый файл r - файл является корневой каталог процесса t - процесс обращается к файлу в виде текстового файла y - этот файл является управляющим терминалом для процесса

Итак, чтобы размонтировать просто убить эти pids и повторить попытку unmount

sudo kill -9 3106 11086 sudo umount /media/KINGSTON

Примечание. Чтобы найти точное имя приложения этих pids, вы можете использовать эту команду

cat /proc/<pid>/cmdline

Например: cat /proc/11086/cmdline

это будет выводиться что-то вроде ниже.

evince^@/media/KINGSTON/Ubuntu-guide.pdf^@

Надеюсь, это поможет

20
ответ дан 17 July 2018 в 21:22

открыть терминал:

fuser -c /media/KINGSTON

Он выведет что-то вроде этого:

/media/KINGSTON/: 3106c 11086

Это даст вам pid процессов, использующих этот том. Дополнительный персонаж в конце pid даст дополнительную информацию. (c в 3106c)

c - процесс использует файл в качестве текущего рабочего каталога m - файл сопоставляется с mmap o - процесс использует его как открытый файл r - файл является корневой каталог процесса t - процесс обращается к файлу в виде текстового файла y - этот файл является управляющим терминалом для процесса

Итак, чтобы размонтировать просто убить эти pids и повторить попытку unmount

sudo kill -9 3106 11086 sudo umount /media/KINGSTON

Примечание. Чтобы найти точное имя приложения этих pids, вы можете использовать эту команду

cat /proc/<pid>/cmdline

Например: cat /proc/11086/cmdline

это будет выводиться что-то вроде ниже.

evince^@/media/KINGSTON/Ubuntu-guide.pdf^@

Надеюсь, это поможет

21
ответ дан 23 July 2018 в 22:01

открыть терминал:

  fuser -c / media / KINGSTON  

Он выведет что-то вроде этого:

  / media / KINGSTON /: 3106c 11086  

Это даст вам pid процессов, использующих этот том. Дополнительный персонаж в конце pid даст дополнительную информацию. (c в 3106c)

c - процесс использует файл как текущий рабочий каталог m - файл сопоставляется с mmap o - процесс использует его как открытый файл r - файл является корневой каталог процесса t - процесс обращается к файлу в виде текстового файла y - этот файл является управляющим терминалом для процесса

Итак, чтобы размонтировать просто убить эти pids и повторить попытку unmount

  sudo kill -9 3106 11086 sudo umount / media / KINGSTON  

Примечание. Чтобы найти точное имя приложения этих pids, вы можете использовать эту команду

  cat / proc / & lt; pid & gt; / cmdline  

Например: cat / proc / 11086 / cmdline

это выведет что-то вроде ниже.

  evince ^ @ / media / KINGSTON / Ubuntu-guide.pdf ^ @  

Надеюсь, это поможет

21
ответ дан 31 July 2018 в 19:30

открыть терминал:

  fuser -c / media / KINGSTON  

Он выведет что-то вроде этого:

  / media / KINGSTON /: 3106c 11086  

Это даст вам pid процессов, использующих этот том. Дополнительный персонаж в конце pid даст дополнительную информацию. (c в 3106c)

c - процесс использует файл как текущий рабочий каталог m - файл сопоставляется с mmap o - процесс использует его как открытый файл r - файл является корневой каталог процесса t - процесс обращается к файлу в виде текстового файла y - этот файл является управляющим терминалом для процесса

Итак, чтобы размонтировать просто убить эти pids и повторить попытку unmount

  sudo kill -9 3106 11086 sudo umount / media / KINGSTON  

Примечание. Чтобы найти точное имя приложения этих pids, вы можете использовать эту команду

  cat / proc / & lt; pid & gt; / cmdline  

Например: cat / proc / 11086 / cmdline

это выведет что-то вроде ниже.

  evince ^ @ / media / KINGSTON / Ubuntu-guide.pdf ^ @  

Надеюсь, это поможет

21
ответ дан 2 August 2018 в 12:33

открыть терминал:

  fuser -c / media / KINGSTON  

Он выведет что-то вроде этого:

  / media / KINGSTON /: 3106c 11086  

Это даст вам pid процессов, использующих этот том. Дополнительный персонаж в конце pid даст дополнительную информацию. (c в 3106c)

c - процесс использует файл как текущий рабочий каталог m - файл сопоставляется с mmap o - процесс использует его как открытый файл r - файл является корневой каталог процесса t - процесс обращается к файлу в виде текстового файла y - этот файл является управляющим терминалом для процесса

Итак, чтобы размонтировать просто убить эти pids и повторить попытку unmount

  sudo kill -9 3106 11086 sudo umount / media / KINGSTON  

Примечание. Чтобы найти точное имя приложения этих pids, вы можете использовать эту команду

  cat / proc / & lt; pid & gt; / cmdline  

Например: cat / proc / 11086 / cmdline

это выведет что-то вроде ниже.

  evince ^ @ / media / KINGSTON / Ubuntu-guide.pdf ^ @  

Надеюсь, это поможет

21
ответ дан 3 August 2018 в 16:54

открыть терминал:

  fuser -c / media / KINGSTON  

Он выведет что-то вроде этого:

  / media / KINGSTON /: 3106c 11086  

Это даст вам pid процессов, использующих этот том. Дополнительный персонаж в конце pid даст дополнительную информацию. (c в 3106c)

c - процесс использует файл как текущий рабочий каталог m - файл сопоставляется с mmap o - процесс использует его как открытый файл r - файл является корневой каталог процесса t - процесс обращается к файлу в виде текстового файла y - этот файл является управляющим терминалом для процесса

Итак, чтобы размонтировать просто убить эти pids и повторить попытку unmount

  sudo kill -9 3106 11086 sudo umount / media / KINGSTON  

Примечание. Чтобы найти точное имя приложения этих pids, вы можете использовать эту команду

  cat / proc / & lt; pid & gt; / cmdline  

Например: cat / proc / 11086 / cmdline

это выведет что-то вроде ниже.

  evince ^ @ / media / KINGSTON / Ubuntu-guide.pdf ^ @  

Надеюсь, это поможет

21
ответ дан 5 August 2018 в 02:14

открыть терминал:

  fuser -c / media / KINGSTON  

Он выведет что-то вроде этого:

  / media / KINGSTON /: 3106c 11086  

Это даст вам pid процессов, использующих этот том. Дополнительный персонаж в конце pid даст дополнительную информацию. (c в 3106c)

c - процесс использует файл как текущий рабочий каталог m - файл сопоставляется с mmap o - процесс использует его как открытый файл r - файл является корневой каталог процесса t - процесс обращается к файлу в виде текстового файла y - этот файл является управляющим терминалом для процесса

Итак, чтобы размонтировать просто убить эти pids и повторить попытку unmount

  sudo kill -9 3106 11086 sudo umount / media / KINGSTON  

Примечание. Чтобы найти точное имя приложения этих pids, вы можете использовать эту команду

  cat / proc / & lt; pid & gt; / cmdline  

Например: cat / proc / 11086 / cmdline

это выведет что-то вроде ниже.

  evince ^ @ / media / KINGSTON / Ubuntu-guide.pdf ^ @  

Надеюсь, это поможет

21
ответ дан 6 August 2018 в 18:54

открыть терминал:

  fuser -c / media / KINGSTON  

Он выведет что-то вроде этого:

  / media / KINGSTON /: 3106c 11086  

Это даст вам pid процессов, использующих этот том. Дополнительный персонаж в конце pid даст дополнительную информацию. (c в 3106c)

c - процесс использует файл как текущий рабочий каталог m - файл сопоставляется с mmap o - процесс использует его как открытый файл r - файл является корневой каталог процесса t - процесс обращается к файлу в виде текстового файла y - этот файл является управляющим терминалом для процесса

Итак, чтобы размонтировать просто убить эти pids и повторить попытку unmount

  sudo kill -9 3106 11086 sudo umount / media / KINGSTON  

Примечание. Чтобы найти точное имя приложения этих pids, вы можете использовать эту команду

  cat / proc / & lt; pid & gt; / cmdline  

Например: cat / proc / 11086 / cmdline

это выведет что-то вроде ниже.

  evince ^ @ / media / KINGSTON / Ubuntu-guide.pdf ^ @  

Надеюсь, это поможет

21
ответ дан 8 August 2018 в 23:16

открыть терминал:

  fuser -c / media / KINGSTON  

Он выведет что-то вроде этого:

  / media / KINGSTON /: 3106c 11086  

Это даст вам pid процессов, использующих этот том. Дополнительный персонаж в конце pid даст дополнительную информацию. (c в 3106c)

c - процесс использует файл как текущий рабочий каталог m - файл сопоставляется с mmap o - процесс использует его как открытый файл r - файл является корневой каталог процесса t - процесс обращается к файлу в виде текстового файла y - этот файл является управляющим терминалом для процесса

Итак, чтобы размонтировать просто убить эти pids и повторить попытку unmount

  sudo kill -9 3106 11086 sudo umount / media / KINGSTON  

Примечание. Чтобы найти точное имя приложения этих pids, вы можете использовать эту команду

  cat / proc / & lt; pid & gt; / cmdline  

Например: cat / proc / 11086 / cmdline

это выведет что-то вроде ниже.

  evince ^ @ / media / KINGSTON / Ubuntu-guide.pdf ^ @  

Надеюсь, это поможет

21
ответ дан 14 August 2018 в 13:15
  • 1
    fuser -ck также убьет его. – João Pinto 6 November 2010 в 12:05
  • 2
    Я бы предложил убить их без опции -9, чтобы дать этим приложениям возможность полностью отключиться. И я бы предложил использовать ps & lt; pid & gt; вместо редактирования файлов в / proc, чтобы увидеть имя и аргументы команды. – Marius Gedminas 6 November 2010 в 18:55
  • 3
    Я следую вашей процедуре, чтобы найти этот процесс, это Thunar - deamon. Нет лишних символов, дающих дополнительную информацию. Я еще не убил его, я беспокоюсь о том, какое влияние он может оказать на работу. – Guillaume Coté 6 November 2010 в 22:53

Также это может помочь:

lsof | grep \/media\/KINGSTON
2
ответ дан 17 July 2018 в 21:22

Тем временем команда фьюзера значительно улучшилась. Вы можете выполнить полную работу с помощью одной команды:

sudo fuser -ickv /"mountpoint"

Где:

параметр k убивает процесс нарушения, в то время как v показывает заранее процесс и его пользователь и i запрашивают подтверждение.

Если какой-то процесс сопротивляется, повторите попытку с помощью fuser -ickv -9 (или, в более общем плане, с -SIGNAL), который убивает самых упрямых. Но вы всегда найдете какой-то «бессмертный» процесс ...!

2
ответ дан 17 July 2018 в 21:22

Самый полезный инструмент - lsof. Он показывает, какие файлы используются в каких процессах. Если /media/KINGSTON является точкой монтирования (имя устройства также будет работать), следующая команда показывает все файлы, которые используются в этой точке монтирования:

lsof /media/KINGSTON

Если вы запустите эту команду как обычную пользователь, он будет показывать только ваши собственные процессы¹. Запустите sudo lsof /media/KINGSTON, чтобы просмотреть все процессы пользователей.

Результат из lsof выглядит так:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME zsh4 31421 gilles cwd DIR 8,1 4096 130498 /var/tmp zsh4 31421 gilles txt REG 8,1 550804 821292 /bin/zsh4 zsh4 31421 gilles mem REG 8,1 55176 821326 /usr/lib/zsh/4.3.10/zsh/complist.so zsh4 31421 gilles 12r REG 8,1 175224 822276 /usr/share/zsh/functions/Completion.zwc

Столбец COMMAND показывает имя исполняемого файла программы и столбец PID показывает идентификатор процесса. В столбце NAME указано имя файла; вы можете увидеть (deleted), если файл был удален при открытии (когда файл был удален, он больше не имеет имени, но он все еще существует до тех пор, пока последний процесс с его закрытием не закрывает файл). USER должен быть понятным. Остальные столбцы здесь не важны, кроме, возможно, FD, который показывает, как файл используется процессом:

cwd: текущий рабочий каталог txt: исполняемый файл программы² mem: файл с отображением памяти (здесь, подумайте об этом как открытый файл) число: фактический открытый файл; в следующей букве указывается режим открытия, например r для чтения, и w для записи

Нет механического способа найти окно, в котором файл открыт (это на самом деле не имеет технического смысла : если процесс имеет несколько окон, файл не связан конкретно ни с одним окном, ни даже с простым способом идентификации окна процесса (и, конечно, процесс не должен иметь никаких окон). Но обычно имени команды и имени файла достаточно, чтобы найти нарушителя и закрыть файл должным образом.

Если вы не можете закрыть файл и просто хотите закончить все это, вы можете убить процесс с помощью kill 31421 (где 31421 - идентификатор процесса) или kill -HUP 31421 («зависание»). Если обычное убийство не делает трюк, убейте его с крайним предрассудком: kill -KILL 31421.

Существует GUI для lsof, lsof , но он не совсем готов к прайм-тайм но пока не упакован для Ubuntu.

¹ Lsof может перечислить некоторую информацию о процессах других пользователей, но не обнаруживает точку монтирования, поэтому не будет перечислять их, если вы укажете mount точка. ² Исполняемый код часто называют текстом при обсуждении исполняемых форматов.

7
ответ дан 17 July 2018 в 21:22

Также это может помочь:

lsof | grep \/media\/KINGSTON
2
ответ дан 23 July 2018 в 22:01
  • 1
    Нет необходимости скрывать косые черты. – Marius Gedminas 6 November 2010 в 18:56
  • 2
    Когда вы не уверены, grep с кавычками, например. [F1] – Adam Matan 16 December 2010 в 17:55

Тем временем команда фьюзера значительно улучшилась. Вы можете выполнить полную работу с помощью одной команды:

sudo fuser -ickv /"mountpoint"

Где:

параметр k убивает процесс нарушения, в то время как v показывает заранее процесс и его пользователь и i запрашивают подтверждение.

Если какой-то процесс сопротивляется, повторите попытку с помощью fuser -ickv -9 (или, в более общем плане, с -SIGNAL), который убивает самых упрямых. Но вы всегда найдете какой-то «бессмертный» процесс ...!

2
ответ дан 23 July 2018 в 22:01
  • 1
    Я нашел бессмертный процесс, мою неудачную попытку использовать vboxmanage. -_- – sudo 8 September 2017 в 03:04

Самый полезный инструмент - lsof. Он показывает, какие файлы используются в каких процессах. Если /media/KINGSTON является точкой монтирования (имя устройства также будет работать), следующая команда показывает все файлы, которые используются в этой точке монтирования:

lsof /media/KINGSTON

Если вы запустите эту команду как обычную пользователь, он будет показывать только ваши собственные процессы¹. Запустите sudo lsof /media/KINGSTON, чтобы просмотреть все процессы пользователей.

Результат из lsof выглядит так:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME zsh4 31421 gilles cwd DIR 8,1 4096 130498 /var/tmp zsh4 31421 gilles txt REG 8,1 550804 821292 /bin/zsh4 zsh4 31421 gilles mem REG 8,1 55176 821326 /usr/lib/zsh/4.3.10/zsh/complist.so zsh4 31421 gilles 12r REG 8,1 175224 822276 /usr/share/zsh/functions/Completion.zwc

Столбец COMMAND показывает имя исполняемого файла программы и столбец PID показывает идентификатор процесса. В столбце NAME указано имя файла; вы можете увидеть (deleted), если файл был удален при открытии (когда файл был удален, он больше не имеет имени, но он все еще существует до тех пор, пока последний процесс с его закрытием не закрывает файл). USER должен быть понятным. Остальные столбцы здесь не важны, кроме, возможно, FD, который показывает, как файл используется процессом:

cwd: текущий рабочий каталог txt: исполняемый файл программы² mem: файл с отображением памяти (здесь, подумайте об этом как открытый файл) число: фактический открытый файл; в следующей букве указывается режим открытия, например r для чтения, и w для записи

Нет механического способа найти окно, в котором файл открыт (это на самом деле не имеет технического смысла : если процесс имеет несколько окон, файл не связан конкретно ни с одним окном, ни даже с простым способом идентификации окна процесса (и, конечно, процесс не должен иметь никаких окон). Но обычно имени команды и имени файла достаточно, чтобы найти нарушителя и закрыть файл должным образом.

Если вы не можете закрыть файл и просто хотите закончить все это, вы можете убить процесс с помощью kill 31421 (где 31421 - идентификатор процесса) или kill -HUP 31421 («зависание»). Если обычное убийство не делает трюк, убейте его с крайним предрассудком: kill -KILL 31421.

Существует GUI для lsof, lsof , но он не совсем готов к прайм-тайм но пока не упакован для Ubuntu.

¹ Lsof может перечислить некоторую информацию о процессах других пользователей, но не обнаруживает точку монтирования, поэтому не будет перечислять их, если вы укажете mount точка. ² Исполняемый код часто называют текстом при обсуждении исполняемых форматов.

7
ответ дан 23 July 2018 в 22:01

Наиболее полезным инструментом является lsof . Он показывает, какие файлы используются в каких процессах. Если / media / KINGSTON является точкой монтирования (имя устройства также будет работать), следующая команда показывает все файлы, которые используются в этой точке монтирования:

   lsof / media / KINGSTON  

Если вы запустите эту команду как обычный пользователь, она покажет только ваши собственные процессы¹. Выполните sudo lsof / media / KINGSTON , чтобы увидеть все процессы пользователей.

Выход из lsof выглядит так:

   COMMAND PID USER FD TYPE DEVICE SIZE / OFF NODE NAME zsh4 31421 gilles cwd DIR 8,1 4096 130498 / var / tmp zsh4 31421 gilles txt REG 8,1 550804 821292 / bin / zsh4 zsh4 31421 gilles mem REG 8,1  55176 821326 /usr/lib/zsh/4.3.10/zsh/complist.so zsh4 31421 gilles 12r REG 8,1 175224 822276 /usr/share/zsh/functions/Completion.zwc  

Столбец COMMAND показывает имя исполняемого файла программы, а столбец PID показывает идентификатор процесса. Столбец NAME показывает имя файла; вы можете увидеть (удалено) , если файл был удален при открытии (когда файл удален, он больше не имеет имени, но он все еще существует до тех пор, пока последний процесс с его закрытием не закрывает файл). ПОЛЬЗОВАТЕЛЬ должен быть понятным. Остальные столбцы здесь не имеют значения, кроме, возможно, FD , который показывает, как файл используется процессом:

  • cwd : current Рабочий каталог
  • txt : исполняемый файл программы [
  • mem : файл с отображением памяти (здесь, подумайте об этом как открыть файл)
  • число: фактический открытый файл; последующая буква указывает режим открытия, например r для чтения, и w для записи

Нет механического способа найти окно, в котором файл открыт (это на самом деле не имеет технического смысла: если процесс имеет несколько окон, файл не связан конкретно ни с одним окном, ни даже с простым способом идентификации окна процесса (и, конечно, процесс не должен иметь никаких окон). Но обычно имени команды и имени файла достаточно, чтобы найти преступника и закрыть файл должным образом.

Если вы не можете закрыть файл и просто хотите закончить все это, вы можете убить процесс с помощью kill 31421 (где 31421 - это идентификатор процесса) или kill -HUP 31421 («зависание»). Если обычное убийство не выполняет трюк, убейте его с крайним предрассудком: kill -KILL 31421 .

Существует GUI для lsof, glsof , но это еще не совсем готово к прайм-тайму, и пока он не упакован для Ubuntu.

¹ Lsof может отображать некоторую информацию о процессах других пользователей, но не обнаруживает точку монтирования, t перечислите их, если вы укажете точку монтирования. ² Исполняемый код часто называют текстом при обсуждении исполняемых форматов.

7
ответ дан 31 July 2018 в 19:30

Также это может помочь:

  lsof |  grep \ / media \ / KINGSTON  
2
ответ дан 31 July 2018 в 19:30

Между тем команда фьюзера значительно улучшилась. Вы можете выполнить полную работу с помощью одной команды:

  sudo fuser -ickv / "mountpoint"  

Где:

  • k убивает процесс нарушения
  • , а v заранее показывает процесс и его пользователя
  • и i просит вас подтвердить.

Если какой-то процесс сопротивляется, попробуйте еще раз с fuser -ickv -9 (или, в более общем смысле, с -SIGNAL ), который убивает самые упрямые. Но вы всегда найдете какой-то «бессмертный» процесс ...!

2
ответ дан 31 July 2018 в 19:30

Наиболее полезным инструментом является lsof . Он показывает, какие файлы используются в каких процессах. Если / media / KINGSTON является точкой монтирования (имя устройства также будет работать), следующая команда показывает все файлы, которые используются в этой точке монтирования:

   lsof / media / KINGSTON  

Если вы запустите эту команду как обычный пользователь, она покажет только ваши собственные процессы¹. Выполните sudo lsof / media / KINGSTON , чтобы увидеть все процессы пользователей.

Выход из lsof выглядит так:

   COMMAND PID USER FD TYPE DEVICE SIZE / OFF NODE NAME zsh4 31421 gilles cwd DIR 8,1 4096 130498 / var / tmp zsh4 31421 gilles txt REG 8,1 550804 821292 / bin / zsh4 zsh4 31421 gilles mem REG 8,1  55176 821326 /usr/lib/zsh/4.3.10/zsh/complist.so zsh4 31421 gilles 12r REG 8,1 175224 822276 /usr/share/zsh/functions/Completion.zwc  

Столбец COMMAND показывает имя исполняемого файла программы, а столбец PID показывает идентификатор процесса. Столбец NAME показывает имя файла; вы можете увидеть (удалено) , если файл был удален при открытии (когда файл удален, он больше не имеет имени, но он все еще существует до тех пор, пока последний процесс с его закрытием не закрывает файл). ПОЛЬЗОВАТЕЛЬ должен быть понятным. Остальные столбцы здесь не имеют значения, кроме, возможно, FD , который показывает, как файл используется процессом:

  • cwd : current Рабочий каталог
  • txt : исполняемый файл программы [
  • mem : файл с отображением памяти (здесь, подумайте об этом как открыть файл)
  • число: фактический открытый файл; последующая буква указывает режим открытия, например r для чтения, и w для записи

Нет механического способа найти окно, в котором файл открыт (это на самом деле не имеет технического смысла: если процесс имеет несколько окон, файл не связан конкретно ни с одним окном, ни даже с простым способом идентификации окна процесса (и, конечно, процесс не должен иметь никаких окон). Но обычно имени команды и имени файла достаточно, чтобы найти преступника и закрыть файл должным образом.

Если вы не можете закрыть файл и просто хотите закончить все это, вы можете убить процесс с помощью kill 31421 (где 31421 - это идентификатор процесса) или kill -HUP 31421 («зависание»). Если обычное убийство не выполняет трюк, убейте его с крайним предрассудком: kill -KILL 31421 .

Существует GUI для lsof, glsof , но это еще не совсем готово к прайм-тайму, и пока он не упакован для Ubuntu.

¹ Lsof может отображать некоторую информацию о процессах других пользователей, но не обнаруживает точку монтирования, t перечислите их, если вы укажете точку монтирования. ² Исполняемый код часто называют текстом при обсуждении исполняемых форматов.

7
ответ дан 2 August 2018 в 12:33

Также это может помочь:

  lsof |  grep \ / media \ / KINGSTON  
2
ответ дан 2 August 2018 в 12:33

Между тем команда фьюзера значительно улучшилась. Вы можете выполнить полную работу с помощью одной команды:

  sudo fuser -ickv / "mountpoint"  

Где:

  • k убивает процесс нарушения
  • , а v заранее показывает процесс и его пользователя
  • и i просит вас подтвердить.

Если какой-то процесс сопротивляется, попробуйте еще раз с fuser -ickv -9 (или, в более общем смысле, с -SIGNAL ), который убивает самые упрямые. Но вы всегда найдете какой-то «бессмертный» процесс ...!

2
ответ дан 2 August 2018 в 12:33

Наиболее полезным инструментом является lsof . Он показывает, какие файлы используются в каких процессах. Если / media / KINGSTON является точкой монтирования (имя устройства также будет работать), следующая команда показывает все файлы, которые используются в этой точке монтирования:

   lsof / media / KINGSTON  

Если вы запустите эту команду как обычный пользователь, она покажет только ваши собственные процессы¹. Выполните sudo lsof / media / KINGSTON , чтобы увидеть все процессы пользователей.

Выход из lsof выглядит так:

   COMMAND PID USER FD TYPE DEVICE SIZE / OFF NODE NAME zsh4 31421 gilles cwd DIR 8,1 4096 130498 / var / tmp zsh4 31421 gilles txt REG 8,1 550804 821292 / bin / zsh4 zsh4 31421 gilles mem REG 8,1  55176 821326 /usr/lib/zsh/4.3.10/zsh/complist.so zsh4 31421 gilles 12r REG 8,1 175224 822276 /usr/share/zsh/functions/Completion.zwc  

Столбец COMMAND показывает имя исполняемого файла программы, а столбец PID показывает идентификатор процесса. Столбец NAME показывает имя файла; вы можете увидеть (удалено) , если файл был удален при открытии (когда файл удален, он больше не имеет имени, но он все еще существует до тех пор, пока последний процесс с его закрытием не закрывает файл). ПОЛЬЗОВАТЕЛЬ должен быть понятным. Остальные столбцы здесь не имеют значения, кроме, возможно, FD , который показывает, как файл используется процессом:

  • cwd : current Рабочий каталог
  • txt : исполняемый файл программы [
  • mem : файл с отображением памяти (здесь, подумайте об этом как открыть файл)
  • число: фактический открытый файл; последующая буква указывает режим открытия, например r для чтения, и w для записи

Нет механического способа найти окно, в котором файл открыт (это на самом деле не имеет технического смысла: если процесс имеет несколько окон, файл не связан конкретно ни с одним окном, ни даже с простым способом идентификации окна процесса (и, конечно, процесс не должен иметь никаких окон). Но обычно имени команды и имени файла достаточно, чтобы найти преступника и закрыть файл должным образом.

Если вы не можете закрыть файл и просто хотите закончить все это, вы можете убить процесс с помощью kill 31421 (где 31421 - это идентификатор процесса) или kill -HUP 31421 («зависание»). Если обычное убийство не выполняет трюк, убейте его с крайним предрассудком: kill -KILL 31421 .

Существует GUI для lsof, glsof , но это еще не совсем готово к прайм-тайму, и пока он не упакован для Ubuntu.

¹ Lsof может отображать некоторую информацию о процессах других пользователей, но не обнаруживает точку монтирования, t перечислите их, если вы укажете точку монтирования. ² Исполняемый код часто называют текстом при обсуждении исполняемых форматов.

7
ответ дан 3 August 2018 в 16:54

Между тем команда фьюзера значительно улучшилась. Вы можете выполнить полную работу с помощью одной команды:

  sudo fuser -ickv / "mountpoint"  

Где:

  • k убивает процесс нарушения
  • , а v заранее показывает процесс и его пользователя
  • и i просит вас подтвердить.

Если какой-то процесс сопротивляется, попробуйте еще раз с fuser -ickv -9 (или, в более общем смысле, с -SIGNAL ), который убивает самые упрямые. Но вы всегда найдете какой-то «бессмертный» процесс ...!

2
ответ дан 3 August 2018 в 16:54

Также это может помочь:

  lsof |  grep \ / media \ / KINGSTON  
2
ответ дан 3 August 2018 в 16:54

Наиболее полезным инструментом является lsof . Он показывает, какие файлы используются в каких процессах. Если / media / KINGSTON является точкой монтирования (имя устройства также будет работать), следующая команда показывает все файлы, которые используются в этой точке монтирования:

   lsof / media / KINGSTON  

Если вы запустите эту команду как обычный пользователь, она покажет только ваши собственные процессы¹. Выполните sudo lsof / media / KINGSTON , чтобы увидеть все процессы пользователей.

Выход из lsof выглядит так:

   COMMAND PID USER FD TYPE DEVICE SIZE / OFF NODE NAME zsh4 31421 gilles cwd DIR 8,1 4096 130498 / var / tmp zsh4 31421 gilles txt REG 8,1 550804 821292 / bin / zsh4 zsh4 31421 gilles mem REG 8,1  55176 821326 /usr/lib/zsh/4.3.10/zsh/complist.so zsh4 31421 gilles 12r REG 8,1 175224 822276 /usr/share/zsh/functions/Completion.zwc  

Столбец COMMAND показывает имя исполняемого файла программы, а столбец PID показывает идентификатор процесса. Столбец NAME показывает имя файла; вы можете увидеть (удалено) , если файл был удален при открытии (когда файл удален, он больше не имеет имени, но он все еще существует до тех пор, пока последний процесс с его закрытием не закрывает файл). ПОЛЬЗОВАТЕЛЬ должен быть понятным. Остальные столбцы здесь не имеют значения, кроме, возможно, FD , который показывает, как файл используется процессом:

  • cwd : current Рабочий каталог
  • txt : исполняемый файл программы [
  • mem : файл с отображением памяти (здесь, подумайте об этом как открыть файл)
  • число: фактический открытый файл; последующая буква указывает режим открытия, например r для чтения, и w для записи

Нет механического способа найти окно, в котором файл открыт (это на самом деле не имеет технического смысла: если процесс имеет несколько окон, файл не связан конкретно ни с одним окном, ни даже с простым способом идентификации окна процесса (и, конечно, процесс не должен иметь никаких окон). Но обычно имени команды и имени файла достаточно, чтобы найти преступника и закрыть файл должным образом.

Если вы не можете закрыть файл и просто хотите закончить все это, вы можете убить процесс с помощью kill 31421 (где 31421 - это идентификатор процесса) или kill -HUP 31421 («зависание»). Если обычное убийство не выполняет трюк, убейте его с крайним предрассудком: kill -KILL 31421 .

Существует GUI для lsof, glsof , но это еще не совсем готово к прайм-тайму, и пока он не упакован для Ubuntu.

¹ Lsof может отображать некоторую информацию о процессах других пользователей, но не обнаруживает точку монтирования, t перечислите их, если вы укажете точку монтирования. ² Исполняемый код часто называют текстом при обсуждении исполняемых форматов.

7
ответ дан 5 August 2018 в 02:14

Также это может помочь:

  lsof |  grep \ / media \ / KINGSTON  
2
ответ дан 5 August 2018 в 02:14

Между тем команда фьюзера значительно улучшилась. Вы можете выполнить полную работу с помощью одной команды:

  sudo fuser -ickv / "mountpoint"  

Где:

  • k убивает процесс нарушения
  • , а v заранее показывает процесс и его пользователя
  • и i просит вас подтвердить.

Если какой-то процесс сопротивляется, попробуйте еще раз с fuser -ickv -9 (или, в более общем смысле, с -SIGNAL ), который убивает самые упрямые. Но вы всегда найдете какой-то «бессмертный» процесс ...!

2
ответ дан 5 August 2018 в 02:14

Наиболее полезным инструментом является lsof . Он показывает, какие файлы используются в каких процессах. Если / media / KINGSTON является точкой монтирования (имя устройства также будет работать), следующая команда показывает все файлы, которые используются в этой точке монтирования:

   lsof / media / KINGSTON  

Если вы запустите эту команду как обычный пользователь, она покажет только ваши собственные процессы¹. Выполните sudo lsof / media / KINGSTON , чтобы увидеть все процессы пользователей.

Выход из lsof выглядит так:

   COMMAND PID USER FD TYPE DEVICE SIZE / OFF NODE NAME zsh4 31421 gilles cwd DIR 8,1 4096 130498 / var / tmp zsh4 31421 gilles txt REG 8,1 550804 821292 / bin / zsh4 zsh4 31421 gilles mem REG 8,1  55176 821326 /usr/lib/zsh/4.3.10/zsh/complist.so zsh4 31421 gilles 12r REG 8,1 175224 822276 /usr/share/zsh/functions/Completion.zwc  

Столбец COMMAND показывает имя исполняемого файла программы, а столбец PID показывает идентификатор процесса. Столбец NAME показывает имя файла; вы можете увидеть (удалено) , если файл был удален при открытии (когда файл удален, он больше не имеет имени, но он все еще существует до тех пор, пока последний процесс с его закрытием не закрывает файл). ПОЛЬЗОВАТЕЛЬ должен быть понятным. Остальные столбцы здесь не имеют значения, кроме, возможно, FD , который показывает, как файл используется процессом:

  • cwd : current Рабочий каталог
  • txt : исполняемый файл программы [
  • mem : файл с отображением памяти (здесь, подумайте об этом как открыть файл)
  • число: фактический открытый файл; последующая буква указывает режим открытия, например r для чтения, и w для записи

Нет механического способа найти окно, в котором файл открыт (это на самом деле не имеет технического смысла: если процесс имеет несколько окон, файл не связан конкретно ни с одним окном, ни даже с простым способом идентификации окна процесса (и, конечно, процесс не должен иметь никаких окон). Но обычно имени команды и имени файла достаточно, чтобы найти преступника и закрыть файл должным образом.

Если вы не можете закрыть файл и просто хотите закончить все это, вы можете убить процесс с помощью kill 31421 (где 31421 - это идентификатор процесса) или kill -HUP 31421 («зависание»). Если обычное убийство не выполняет трюк, убейте его с крайним предрассудком: kill -KILL 31421 .

Существует GUI для lsof, glsof , но это еще не совсем готово к прайм-тайму, и пока он не упакован для Ubuntu.

¹ Lsof может отображать некоторую информацию о процессах других пользователей, но не обнаруживает точку монтирования, t перечислите их, если вы укажете точку монтирования. ² Исполняемый код часто называют текстом при обсуждении исполняемых форматов.

7
ответ дан 6 August 2018 в 18:54

Между тем команда фьюзера значительно улучшилась. Вы можете выполнить полную работу с помощью одной команды:

  sudo fuser -ickv / "mountpoint"  

Где:

  • k убивает процесс нарушения
  • , а v заранее показывает процесс и его пользователя
  • и i просит вас подтвердить.

Если какой-то процесс сопротивляется, попробуйте еще раз с fuser -ickv -9 (или, в более общем смысле, с -SIGNAL ), который убивает самые упрямые. Но вы всегда найдете какой-то «бессмертный» процесс ...!

2
ответ дан 6 August 2018 в 18:54

Также это может помочь:

  lsof |  grep \ / media \ / KINGSTON  
2
ответ дан 6 August 2018 в 18:54

Другие вопросы по тегам:

Похожие вопросы: