[geloest] Unterschied zwischen lsof und fuser

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
bumer
Beiträge: 238
Registriert: 02.07.2014 12:29:15

[geloest] Unterschied zwischen lsof und fuser

Beitrag von bumer » 10.03.2015 15:09:05

Hallo,

Ich verstehe einfach nicht was der Unterschied zwischen den beiden ist.

Gibt es überhaupt einen?

Viele Grüße,
bumer
Zuletzt geändert von bumer am 24.03.2015 13:03:04, insgesamt 1-mal geändert.

Benutzeravatar
Six
Beiträge: 8066
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Re: Unterschied zwischen lsof und fuser

Beitrag von Six » 13.03.2015 11:41:26

Die kurze Antwort: ja, zahlreiche ;)

Die lange Antwort: Ja, zahlreiche. Das beginnt damit, was die Befehle eigentlich sind. lsof ist ein externes Kommando, fuser ist POSIX-compliant und ein shell-builtin, also *immer* verfügbar (selbst in busybox,) lsof gerade auf embedded Systemen nicht. Es geht weiter damit, was die Befehle eigentlich machen. Das wird direkt in der erste Zeile der jeweiligen man-Page (die man eh mal lesen sollte) erläutert:
fuser - identify processes using files or sockets
lsof - list open files
Das heißt, fuser zeigt dir, welche Prozesse eine bestimmte Datei nutzen, während die lsof anzeigt, welche Dateien gerade geöffnet sind. lsof kann ähnlich benutzt werden wie fuser, kann aber viel mehr (was es auch ein wenig zu einem Sicherheitsrisiko macht.) fuser hingegen ist sehr spezialisiert und kann, im Gegensatz zu lsof, direkt die Prozesse manipulieren, z. B.

Code: Alles auswählen

fuser -k -INT foo
sendet SIGINT an alle Prozesse und Sockets, die Datei foo benutzen. Sweet ;)

HTH
Be seeing you!

bumer
Beiträge: 238
Registriert: 02.07.2014 12:29:15

Re: Unterschied zwischen lsof und fuser

Beitrag von bumer » 23.03.2015 11:43:42

Six hat geschrieben: Das heißt, fuser zeigt dir, welche Prozesse eine bestimmte Datei nutzen, während die lsof anzeigt, welche Dateien gerade geöffnet sind. lsof kann ähnlich benutzt werden wie fuser
So wie ich es verstehe machen die Befehle so ziemlich das gleiche, die Herangehensweise ist nur eine andere:

fuser = welche(r) Prozess(e) nutzen eine bestimmte Datei
Das ist doch nichts anders als: lsof +p PID oder umgekehrt: lsof datei.

Läuft das nicht auf das Gleiche hinaus (lassen wir mal den Unterschied, dass das eine ein builtin ist und das andere nicht, außen vor)?

Benutzeravatar
Six
Beiträge: 8066
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Re: Unterschied zwischen lsof und fuser

Beitrag von Six » 23.03.2015 23:38:51

Lass mich mit einem Beispiel antworten: es gibt Fahrräder und Tretroller. Wenn man fragt, ob es einen Unterschied gibt, so kann man das leicht beantworten. Reduziert man die beiden Dinge nun in einem zweiten Schritt auf rollende, muskelkraft getriebene Fahrzeuge, so wird die erste Frage hinfällig.
Be seeing you!

Antworten