Je pense que vous avez une faute de frappe ici, je doute que la commande ait renvoyé "Comment puis-je savoir quel processus consomme ma bande passante?" ...;) toute chance que vous puissiez modifier la question s'il vous plaît?
8128
Réponses:
24
ouvrir un terminal:
fuser -c /media/KINGSTON
Il produira quelque chose comme ceci:
/media/KINGSTON/: 3106c 11086
Cela vous donnera le pid des processus utilisant ce volume. Le caractère supplémentaire à la fin du pid donnera quelques informations supplémentaires. (c dans 3106c)
c - le processus utilise le fichier comme répertoire de travail actuel
m - le fichier est mappé avec mmap
o - le processus l'utilise comme fichier ouvert
r - le fichier est le répertoire racine du processus
t - le processus accède à la fichier en tant que fichier texte
y - ce fichier est le terminal de contrôle du processus
Donc, pour démonter, il suffit de tuer ces pids et de réessayer le démontage
Je suggérerais de les tuer sans l'option -9 d'abord, pour donner à ces applications la possibilité de s'arrêter proprement. Et je suggère d'utiliser ps <pid>au lieu de modifier des fichiers dans / proc pour voir le nom de la commande et les arguments.
Marius Gedminas
Je suis votre procédure pour trouver le processus, c'est Thunar - démon. Il n'y a pas de caractère supplémentaire donnant des informations supplémentaires. Je ne l'ai pas encore tué, je m'inquiète de l'impact que cela pourrait avoir sur autre chose en cours d'exécution.
Guillaume Coté
7
L'outil le plus utile est lsof . Il montre quels fichiers sont utilisés par quels processus. S'il /media/KINGSTONs'agit d'un point de montage (le nom du périphérique fonctionnerait également), la commande suivante affiche tous les fichiers utilisés sur ce point de montage:
lsof /media/KINGSTON
Si vous exécutez cette commande en tant qu'utilisateur ordinaire, elle n'affichera que vos propres processus¹. Exécutez sudo lsof /media/KINGSTONpour voir tous les processus des utilisateurs.
La sortie de lsofressemble à ceci:
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
La COMMANDcolonne affiche le nom de l'exécutable du programme et la PIDcolonne indique l'ID du processus. La NAMEcolonne affiche le nom du fichier; vous pouvez voir (deleted)si le fichier a été supprimé lors de son ouverture (lorsqu'un fichier est supprimé, il n'a plus de nom, mais il existe toujours jusqu'à ce que le dernier processus l'utilisant ferme le fichier). USERdevrait être explicite. Les autres colonnes n'ont pas d'importance ici, sauf peut FD- être , qui montre comment le fichier est utilisé par le processus:
cwd: répertoire de travail actuel
txt: l'exécutable du programme²
mem: un fichier mappé en mémoire (ici, pensez-y comme un fichier ouvert)
un nombre: un véritable fichier ouvert; une lettre suivante indique le mode d'ouverture, comme rpour la lecture et l' wécriture
Il n'y a aucun moyen mécanique de localiser la fenêtre où un fichier est ouvert (ce n'est en fait pas significatif techniquement: si un processus a plusieurs fenêtres, un fichier n'est pas particulièrement associé à une fenêtre ou une autre), ni même une manière simple d'identifier la fenêtre d'un processus (et bien sûr un processus n'a pas besoin d'avoir de fenêtres). Mais généralement, le nom de la commande et le nom du fichier suffisent pour localiser le contrevenant et fermer correctement le fichier.
Si vous ne pouvez pas fermer le fichier et que vous voulez tout mettre fin, vous pouvez tuer le processus avec kill 31421(où 31421est l'ID du processus) ou kill -HUP 31421(«raccrocher»). Si le meurtre ordinaire ne fait pas l'affaire, tuer avec préjudice extrême: kill -KILL 31421.
Il existe une interface graphique pour lsof, glsof , mais elle n'est pas encore tout à fait prête pour les heures de grande écoute, et n'est pas encore packagée pour Ubuntu.
¹
Lsof peut répertorier certaines informations sur les processus d'autres utilisateurs, mais il ne détecte pas le point de montage, il ne les répertoriera donc pas si vous spécifiez un point de montage.
² Le
code exécutable est souvent appelé texte dans les discussions sur les formats exécutables.
Il n'est pas nécessaire d'échapper aux barres obliques.
Marius Gedminas
Lorsque vous n'êtes pas sûr, appliquez des guillemets, par exemplegrep "media/KINGSTON"
Adam Matan
2
Pendant ce temps, la commande de l'unité de fusion s'est beaucoup améliorée. Vous pouvez effectuer le travail complet avec une seule commande:
$ sudo fuser -ickv /"mountpoint"
Où:
paramètre ktue le processus incriminé,
tandis que des vspectacles à l' avance le processus et son utilisateur
et ivous demande une confirmation.
Si un processus résiste, essayez à nouveau avec fuser -ickv -9(ou plus généralement avec -SIGNAL) qui tue les plus tenaces.
Mais vous trouverez toujours un processus "immortel" ...!
Dans ce cas, j'ai récemment appris à utiliser
$ sudo umount --lazy --force <mountpoint>
comme une dernière ressource, qui jusqu'à présent a fonctionné pour moi à chaque fois.
Réponses:
ouvrir un terminal:
Il produira quelque chose comme ceci:
Cela vous donnera le pid des processus utilisant ce volume. Le caractère supplémentaire à la fin du pid donnera quelques informations supplémentaires. (c dans 3106c)
c - le processus utilise le fichier comme répertoire de travail actuel
m - le fichier est mappé avec mmap
o - le processus l'utilise comme fichier ouvert
r - le fichier est le répertoire racine du processus
t - le processus accède à la fichier en tant que fichier texte
y - ce fichier est le terminal de contrôle du processus
Donc, pour démonter, il suffit de tuer ces pids et de réessayer le démontage
Remarque: Pour trouver le nom d'application exact de ces pids, vous pouvez utiliser cette commande
Par exemple :
cat /proc/11086/cmdline
cela produira quelque chose comme ci-dessous.
J'espère que cela vous aidera
la source
ps <pid>
au lieu de modifier des fichiers dans / proc pour voir le nom de la commande et les arguments.L'outil le plus utile est lsof . Il montre quels fichiers sont utilisés par quels processus. S'il
/media/KINGSTON
s'agit d'un point de montage (le nom du périphérique fonctionnerait également), la commande suivante affiche tous les fichiers utilisés sur ce point de montage:Si vous exécutez cette commande en tant qu'utilisateur ordinaire, elle n'affichera que vos propres processus¹. Exécutez
sudo lsof /media/KINGSTON
pour voir tous les processus des utilisateurs.La sortie de
lsof
ressemble à ceci:La
COMMAND
colonne affiche le nom de l'exécutable du programme et laPID
colonne indique l'ID du processus. LaNAME
colonne affiche le nom du fichier; vous pouvez voir(deleted)
si le fichier a été supprimé lors de son ouverture (lorsqu'un fichier est supprimé, il n'a plus de nom, mais il existe toujours jusqu'à ce que le dernier processus l'utilisant ferme le fichier).USER
devrait être explicite. Les autres colonnes n'ont pas d'importance ici, sauf peutFD
- être , qui montre comment le fichier est utilisé par le processus:cwd
: répertoire de travail actueltxt
: l'exécutable du programme²mem
: un fichier mappé en mémoire (ici, pensez-y comme un fichier ouvert)r
pour la lecture et l'w
écritureIl n'y a aucun moyen mécanique de localiser la fenêtre où un fichier est ouvert (ce n'est en fait pas significatif techniquement: si un processus a plusieurs fenêtres, un fichier n'est pas particulièrement associé à une fenêtre ou une autre), ni même une manière simple d'identifier la fenêtre d'un processus (et bien sûr un processus n'a pas besoin d'avoir de fenêtres). Mais généralement, le nom de la commande et le nom du fichier suffisent pour localiser le contrevenant et fermer correctement le fichier.
Si vous ne pouvez pas fermer le fichier et que vous voulez tout mettre fin, vous pouvez tuer le processus avec
kill 31421
(où31421
est l'ID du processus) oukill -HUP 31421
(«raccrocher»). Si le meurtre ordinaire ne fait pas l'affaire, tuer avec préjudice extrême:kill -KILL 31421
.Il existe une interface graphique pour lsof, glsof , mais elle n'est pas encore tout à fait prête pour les heures de grande écoute, et n'est pas encore packagée pour Ubuntu.
¹ Lsof peut répertorier certaines informations sur les processus d'autres utilisateurs, mais il ne détecte pas le point de montage, il ne les répertoriera donc pas si vous spécifiez un point de montage.
² Le code exécutable est souvent appelé texte dans les discussions sur les formats exécutables.
la source
Cela peut également aider:
la source
grep "media/KINGSTON"
Pendant ce temps, la commande de l'unité de fusion s'est beaucoup améliorée. Vous pouvez effectuer le travail complet avec une seule commande:
Où:
k
tue le processus incriminé,v
spectacles à l' avance le processus et son utilisateuri
vous demande une confirmation.Si un processus résiste, essayez à nouveau avec
fuser -ickv -9
(ou plus généralement avec-SIGNAL
) qui tue les plus tenaces.Mais vous trouverez toujours un processus "immortel" ...!
Dans ce cas, j'ai récemment appris à utiliser
comme une dernière ressource, qui jusqu'à présent a fonctionné pour moi à chaque fois.
la source
vboxmanage
. -_-