Myślę, że masz tu literówkę. Wątpię, czy polecenie to zwróciło: „Jak mogę dowiedzieć się, który proces pochłania moją przepustowość?” ...;) Czy jest jakaś szansa na edytowanie pytania?
8128,
Odpowiedzi:
24
otwórz terminal:
fuser -c /media/KINGSTON
Wyprowadzi coś takiego:
/media/KINGSTON/: 3106c 11086
To da ci pid procesów korzystających z tego woluminu. Dodatkowa postać na końcu pid poda dodatkowe informacje. (cw 3106c)
c - proces używa pliku jako bieżącego katalogu roboczego
m - plik jest mapowany za pomocą mmap
o - proces używa go jako otwartego pliku
r - plik jest katalogiem głównym procesu
t - proces uzyskuje dostęp do plik jako plik tekstowy
y - ten plik jest terminalem sterującym dla procesu
Więc aby odmontować, po prostu zabij te pidy i ponownie spróbuj odmontować
Sugerowałbym zabicie ich bez opcji -9, aby dać tym aplikacjom szansę na czyste zamknięcie. I sugerowałbym użycie ps <pid>zamiast edycji plików w / proc, aby zobaczyć nazwę polecenia i argumenty.
Marius Gedminas
Postępuję zgodnie z twoją procedurą, aby znaleźć proces, to Thunar - deamon. Nie ma dodatkowej postaci podającej dodatkowe informacje. Jeszcze go nie zabiłem, martwię się o wpływ, jaki może to mieć na inne rzeczy.
Guillaume Coté
7
Najbardziej użytecznym narzędziem jest lsof . Pokazuje, z jakich plików korzystają poszczególne procesy. Jeśli /media/KINGSTONjest punktem podłączenia (nazwa urządzenia również by działała), następujące polecenie pokazuje wszystkie pliki, które są używane w tym punkcie podłączenia:
lsof /media/KINGSTON
Jeśli uruchomisz to polecenie jako zwykły użytkownik, wyświetli on tylko twoje procesy¹. Uruchom, sudo lsof /media/KINGSTONaby zobaczyć procesy wszystkich użytkowników.
Dane wyjściowe lsofwygląda następująco:
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
Do COMMANDprzedstawienia kolumna nazwa pliku wykonywalnego programu i PIDprzedstawia kolumna ID procesu. NAMEKolumna pokazuje nazwę pliku; możesz zobaczyć, (deleted)czy plik został usunięty podczas otwierania (gdy plik jest usuwany, nie ma już nazwy, ale nadal istnieje, dopóki plik nie zostanie zamknięty przez ostatni proces). USERpowinno być zrozumiałe. Pozostałe kolumny nie mają tutaj znaczenia, chyba żeFD , co pokazuje, w jaki sposób plik jest wykorzystywany przez proces:
cwd: bieżący katalog roboczy
txt: program wykonywalny²
mem: plik odwzorowany w pamięci (tutaj, myśl o nim jako o otwartym pliku)
liczba: rzeczywisty otwarty plik; kolejna litera wskazuje tryb otwierania, na przykład rdo czytania i wpisania
Nie ma mechanicznego sposobu zlokalizowania okna, w którym plik jest otwarty (w rzeczywistości nie ma to znaczenia technicznego: jeśli proces ma kilka okien, plik nie jest szczególnie powiązany z jednym lub innym oknem), ani nawet prosty sposób identyfikacji okno procesu (i oczywiście proces nie musi mieć żadnych okien). Ale zwykle nazwa polecenia i nazwa pliku wystarczają do zlokalizowania sprawcy i prawidłowego zamknięcia pliku.
Jeśli nie możesz zamknąć pliku i po prostu chcesz go zakończyć, możesz zabić proces za pomocą kill 31421(gdzie 31421jest identyfikator procesu) lub kill -HUP 31421(„rozłącz się”). Jeśli zwykły zabijanie nie załatwi, zabić skrajnej uszczerbku dla: kill -KILL 31421.
Istnieje interfejs GUI dla lsof , glsof , ale nie jest jeszcze gotowy na najwyższy czas i do tej pory nie jest dostępny dla Ubuntu.
¹
Lsof może wymienić niektóre informacje o procesach innych użytkowników, ale nie wykrywa punktu podłączenia, więc nie wyświetli ich, jeśli określisz punkt podłączenia.
²
Kod wykonywalny jest często nazywany tekstem w dyskusjach na temat formatów wykonywalnych.
Jeśli nie jesteś pewien, grep z cytatami, np.grep "media/KINGSTON"
Adam Matan
2
Tymczasem polecenie utrwalacza znacznie się poprawiło. Możesz wykonać całą robotę za pomocą jednego polecenia:
$ sudo fuser -ickv /"mountpoint"
Gdzie:
parametr kzabija przestępstwo,
podczas gdy vz góry pokazuje proces i jego użytkownika
i iprosi o potwierdzenie.
Jeśli jakiś proces jest odporny, spróbuj ponownie z fuser -ickv -9(lub bardziej ogólnie z -SIGNAL), który zabija najbardziej uparte.
Ale zawsze znajdziesz jakiś „nieśmiertelny” proces ...!
W tych przypadkach ostatnio nauczyłem się używać
$ sudo umount --lazy --force <mountpoint>
jako ostatni zasób, który do tej pory działał dla mnie za każdym razem.
Odpowiedzi:
otwórz terminal:
Wyprowadzi coś takiego:
To da ci pid procesów korzystających z tego woluminu. Dodatkowa postać na końcu pid poda dodatkowe informacje. (cw 3106c)
c - proces używa pliku jako bieżącego katalogu roboczego
m - plik jest mapowany za pomocą mmap
o - proces używa go jako otwartego pliku
r - plik jest katalogiem głównym procesu
t - proces uzyskuje dostęp do plik jako plik tekstowy
y - ten plik jest terminalem sterującym dla procesu
Więc aby odmontować, po prostu zabij te pidy i ponownie spróbuj odmontować
Uwaga: Aby znaleźć dokładną nazwę tych pidów, możesz użyć tego polecenia
Na przykład :
cat /proc/11086/cmdline
spowoduje to wyświetlenie czegoś takiego jak poniżej.
Mam nadzieję, że to pomoże
źródło
ps <pid>
zamiast edycji plików w / proc, aby zobaczyć nazwę polecenia i argumenty.Najbardziej użytecznym narzędziem jest lsof . Pokazuje, z jakich plików korzystają poszczególne procesy. Jeśli
/media/KINGSTON
jest punktem podłączenia (nazwa urządzenia również by działała), następujące polecenie pokazuje wszystkie pliki, które są używane w tym punkcie podłączenia:Jeśli uruchomisz to polecenie jako zwykły użytkownik, wyświetli on tylko twoje procesy¹. Uruchom,
sudo lsof /media/KINGSTON
aby zobaczyć procesy wszystkich użytkowników.Dane wyjściowe
lsof
wygląda następująco:Do
COMMAND
przedstawienia kolumna nazwa pliku wykonywalnego programu iPID
przedstawia kolumna ID procesu.NAME
Kolumna pokazuje nazwę pliku; możesz zobaczyć,(deleted)
czy plik został usunięty podczas otwierania (gdy plik jest usuwany, nie ma już nazwy, ale nadal istnieje, dopóki plik nie zostanie zamknięty przez ostatni proces).USER
powinno być zrozumiałe. Pozostałe kolumny nie mają tutaj znaczenia, chyba żeFD
, co pokazuje, w jaki sposób plik jest wykorzystywany przez proces:cwd
: bieżący katalog roboczytxt
: program wykonywalny²mem
: plik odwzorowany w pamięci (tutaj, myśl o nim jako o otwartym pliku)r
do czytania iw
pisaniaNie ma mechanicznego sposobu zlokalizowania okna, w którym plik jest otwarty (w rzeczywistości nie ma to znaczenia technicznego: jeśli proces ma kilka okien, plik nie jest szczególnie powiązany z jednym lub innym oknem), ani nawet prosty sposób identyfikacji okno procesu (i oczywiście proces nie musi mieć żadnych okien). Ale zwykle nazwa polecenia i nazwa pliku wystarczają do zlokalizowania sprawcy i prawidłowego zamknięcia pliku.
Jeśli nie możesz zamknąć pliku i po prostu chcesz go zakończyć, możesz zabić proces za pomocą
kill 31421
(gdzie31421
jest identyfikator procesu) lubkill -HUP 31421
(„rozłącz się”). Jeśli zwykły zabijanie nie załatwi, zabić skrajnej uszczerbku dla:kill -KILL 31421
.Istnieje interfejs GUI dla lsof , glsof , ale nie jest jeszcze gotowy na najwyższy czas i do tej pory nie jest dostępny dla Ubuntu.
¹ Lsof może wymienić niektóre informacje o procesach innych użytkowników, ale nie wykrywa punktu podłączenia, więc nie wyświetli ich, jeśli określisz punkt podłączenia.
² Kod wykonywalny jest często nazywany tekstem w dyskusjach na temat formatów wykonywalnych.
źródło
Może to również pomóc:
źródło
grep "media/KINGSTON"
Tymczasem polecenie utrwalacza znacznie się poprawiło. Możesz wykonać całą robotę za pomocą jednego polecenia:
Gdzie:
k
zabija przestępstwo,v
z góry pokazuje proces i jego użytkownikai
prosi o potwierdzenie.Jeśli jakiś proces jest odporny, spróbuj ponownie z
fuser -ickv -9
(lub bardziej ogólnie z-SIGNAL
), który zabija najbardziej uparte.Ale zawsze znajdziesz jakiś „nieśmiertelny” proces ...!
W tych przypadkach ostatnio nauczyłem się używać
jako ostatni zasób, który do tej pory działał dla mnie za każdym razem.
źródło
vboxmanage
. -_-