lsof: Anzeigen aller Prozesse die auf eine bestimmte Datei zugreifen

Dieses Thema im Forum "Linux OS" wurde erstellt von supersucker, 16.03.2007.

  1. #1 supersucker, 16.03.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Mahlzeit zusammen,

    ich blick gerade bei folgendem nicht durch:

    Laut manpage sollte mir doch ein

    Code:
    lsof mein_file
    mir anzeigen wer alles gerade diese Datei benützt.

    Mache ich aber nun folgendes:

    Code:
    touch foo
    gedit foo &
    lsof foo
    kriege ich keine Ausgabe?

    Ein

    Code:
    ps aux | grep gedit
    zeigt mir aber

    Code:
    1000     14082  0.2  4.0  70300 20944 pts/1    S    13:52   0:02 gedit foo
    
    Was hab ich hier übersehen?

    P.S. : System Ubuntu Egdy, lsof: 4.77
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Möglicherweise bearbeitet 'gedit' die Datei foo nicht direkt, sondern verwendet eine temporäre Datei.
    Machmal
    Code:
    lsof | grep foo
    
    oder
    Code:
    lsof | grep gedit
    
    Gruss
    d22
     
  4. #3 supersucker, 16.03.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    hat leider keine Ausgabe.

    Ich erkläre mal kurz warum ich das eigentlich brauche:

    ich hab eine Applikation geschrieben, die unter anderem Dateien aus definierten Verzeichnissen einliest.

    In diese Verzeichnisse können die Dateien auf verschiedensten Wegen gelangen (händisch kopieren, scripte usw.)

    Nun möchte ich sicherstellen, das - wenn ich die Dateien einlese - diese schon komplett in das Verzeichnis geschrieben wurde, so das ich nicht eine Datei einlese die noch mitten im Kopiervorgang ist.

    Jemand ne Idee

    1. warum

    keine Ausgabe hat?

    2. Wie man das vielleicht sonst noch lösen könnte?
     
  5. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Ich würde bahupten das hängt mit 'gedit' zusammen. Ich verwende auch Ubuntu Egdy und 'lsof' 4.77.
    Code:
    adminjfu@hsg09017-d:/tmp$ ls -lh foo
    -rw-r--r-- 1 adminjfu adminjfu 260M 2007-03-16 14:24 foo
    adminjfu@hsg09017-d:/tmp$ cp foo foo_cp
    
    gleichzeitig:
    Code:
    adminjfu@hsg09017-d:~$ fuser /tmp/foo_cp
    /tmp/foo_cp:         19032
    adminjfu@hsg09017-d:~$ lsof /tmp/foo_cp 
    COMMAND   PID     USER   FD   TYPE DEVICE      SIZE    NODE NAME
    cp      19032 adminjfu    4w   REG    8,1 194494464 4954716 /tmp/foo_cp
    
    Und wenn ich das Ganze mit 'gedit' versuche ist das Resultat folgendes:
    Während dem Öffnen der Datei ('gedit /tmp/foo_cp')
    Code:
    adminjfu@hsg09017-d:~$ lsof /tmp/foo_cp
    COMMAND   PID     USER   FD   TYPE DEVICE      SIZE    NODE NAME
    gedit   19080 adminjfu  mem    REG    8,1 271663104 4954716 /tmp/foo_cp
    gedit   19080 adminjfu   16r   REG    8,1 271663104 4954716 /tmp/foo_cp
    adminjfu@hsg09017-d:~$ fuser /tmp/foo_cp 
    /tmp/foo_cp:         19080m
    
    Nach dem 'gedit' gestartet ist (mit einer normalen Textdatei), nichts, wie bei dir.

    Gruss
    d22
     
  6. hengs

    hengs Tripel-As

    Dabei seit:
    21.02.2005
    Beiträge:
    217
    Zustimmungen:
    0
    Ort:
    Salzburg
    Vielleicht findest Du in diesen FAQs was:

    http://www.jfranken.de/homepages/johannes/vortraege/lsof/00FAQ.txt

    Dort steht z.B:

     
  7. #6 supersucker, 16.03.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Danke euch beiden erst mal für die Hinweise.

    Hmm,

    keiner von den Fällen trifft bei mir zu.

    Sehr unbefriedigend das Ganze.

    Tja, was nun, es muss doch einen Weg unter Linux geben mit 100% -iger Sicherheit sagen zu können: Auf Datei foo greift kein einziger Prozeß zu.

    Wie schon gesagt, die Dateien können von überall auf alle möglichen Arten kommen, es kann auch sein, das darin jemand rumeditiert während ich lesen will.

    Und ich kann ja unmöglich auf alle möglichen Prozesse ein "ps" machen.

    Das hier

    MUSS doch irgendwie möglich sein.

    Oder?

    Bin für alle Anregungen dankbar.........:)
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Ich würde sagen, es ist möglich, nämlich mit 'lsof' und 'fuser'! Das problem ist nur, wenn gewisse Programme mit Temp-Dateien arbeiten. z.B
    Code:
    adminjfu@hsg09017-d:/tmp$ lsof | grep foo
    vi        20879    adminjfu    4u      REG        8,1    12288    4954719 /tmp/.foo.swp
    
    Auf die Datei foo wird nicht zugegriffen, erst beim speichern wir die echte Datei foo berührt.
    Und ich würd sagen, kein Programm kann dir sagen, ob ein anderes Programm in der nächsten Zeit vor hat in eine bestimmte Datei zu schreiben.

    Gruss
    d22
     
  10. telsh

    telsh -Weltenbürger-

    Dabei seit:
    16.03.2007
    Beiträge:
    5
    Zustimmungen:
    0
    Moin,
    ...wie wäre es mit einer ganz anderen Idee?
    Kannst Du irgendwie in Deinen Scripten mit .lock-Dateien arbeiten?

    HTH,
    telsh
     
Thema: lsof: Anzeigen aller Prozesse die auf eine bestimmte Datei zugreifen
Besucher kamen mit folgenden Suchen
  1. linux aufzeigen wer gerade auf datei zugreift

Die Seite wird geladen...

lsof: Anzeigen aller Prozesse die auf eine bestimmte Datei zugreifen - Ähnliche Themen

  1. lsof timeout's forever?

    lsof timeout's forever?: wenn ich mein system unter last bringe bringt lsof selbst nach 30min. keine ausgabe. läst sich auch nur mit "kill -9" zur aufgabe bewegen. in der...
  2. Solaris 10 Sparc - lsof

    Solaris 10 Sparc - lsof: Hi, ich habe folgendes Problem: Eines unserer Systeme weigert sich bei einem lsof -bn -i4TCP in der Spalte NAME die IP-Adressen...
  3. AOL-Einwahlsoftware für Linux von Lindows

    AOL-Einwahlsoftware für Linux von Lindows: s. auch : http://www.unixboard.de/comments.php?catid=9&id=595 Bringt das einen neuen Newbie zulauf ? Die haben zwar mittlerweile die...
  4. http://www.frickelsoftware.de

    http://www.frickelsoftware.de: Sollte man die Linuxfraktion nicht mal etwas verteidigen ?? http://www.frickelsoftware.de
  5. Newsbot aus "Neue Beiträge anzeigen" ausnehmen

    Newsbot aus "Neue Beiträge anzeigen" ausnehmen: Hallo, ich war längere Zeit weg hab aber immer wieder mal hereingeschaut und dabei viel mir folgendes auf. Wenn ich mir neue Beiträge anschauen...