Как узнать, какой процесс предотвращает umount?

на самом деле приложения для Android, доступные на рынке и в игровом магазине, предназначены для процессоров с архитектурой рук и, таким образом, то, что пытается сделать ur, никогда не будет работать почти для любого другого приложения, которое вы пытаетесь установить на компьютер ..........

, кстати, вы можете найти сайт в Google, выполнив поиск «портирования андроида на x86». Это даст u android 4.2 для андроидов froy roms для автономной установки ur pc, и я попробовал их и почти 99% программного обеспечения либо отказался от установки или отказался запускать после завершения установки в любом случае ...

, поэтому основное различие - x86 против серии рук ........... и до тех пор, пока мы не сможем практически обеспечить arm architechture для android мы не можем что-то делать.

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

40 ответов

Наиболее полезным инструментом является 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 в 04:23

Наиболее полезным инструментом является 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
ответ дан 7 August 2018 в 22:30

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

  lsof |  grep \ / media \ / KINGSTON  
2
ответ дан 7 August 2018 в 22:30

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

  sudo fuser -ickv / "mountpoint"  

Где:

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

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

2
ответ дан 7 August 2018 в 22:30

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

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

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

  sudo fuser -ickv / "mountpoint"  

Где:

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

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

2
ответ дан 10 August 2018 в 10:38

Наиболее полезным инструментом является 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
ответ дан 10 August 2018 в 10:38

Наиболее полезным инструментом является 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
ответ дан 13 August 2018 в 17:10

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

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

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

  sudo fuser -ickv / "mountpoint"  

Где:

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

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

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

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

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