Ergebnis 1 bis 12 von 12

Thema: dd Fortschritt anzeigen lassen

  1. #1
    Registrierter Benutzer Avatar von blubbersuelze
    Registriert seit
    Aug 2003
    Beiträge
    449

    dd Fortschritt anzeigen lassen

    Hallo,

    ich habe einen dd-Befehl wie folgt ausgeführt und in den Hintergrund geschoben.

    dd if=/dev/sda of=/dev/sdb &

    Nun würde ich gerne herausfinden wie weit dd ist.
    Ich habe folgendes probiert:

    kill -USR1 <processid von dd>

    ebenso

    killall -USR1 <processid von dd>

    aber keiner dieser Befehle gibt mir irgend etwas zurück.
    Wo liegt der Fehler, bzw. wie könnte ich alternativ an Fortschrittsdaten kommen?

    mfg.
    blubbersuelze
    "It's a little known fact, but the Pope likes penguins too."
    -Linus Torvalds

  2. #2
    Bastard User From Hell Avatar von kreol
    Registriert seit
    Oct 2004
    Beiträge
    7.969
    Code:
    kill -USR1 `pidof dd`
    funktioniert hier. Die Ausgabe erfolgt in dem Terminal, in dem das dd läuft, nicht in dem, in dem das kill abgesetzt wurde.

    Kreol
    Beim posten von Dateien oder Ausgaben bitte [code]Text[/code] verwenden. Nähere Info über vB-Tags gibt es hier

    I just want to know God's thoughts. The rest are details. (A. Einstein)

  3. #3
    Registrierter Benutzer Avatar von Iluminat23
    Registriert seit
    Mar 2003
    Beiträge
    1.073
    der kill befehl gibt dir auch nix zurück, sondern der dd-prozess bekommt dasd signal und unterbricht kurzzeitig das kopieren und gibt den akteullen status aus.

    achja, killall will den namen des prozesses haben nicht die prozessid.

    folgendes funktioniert hier ohne probleme:
    Code:
    $ dd if=/dev/urandom of=/dev/null &
    [1] 11145
    $ kill -USR1 11145
    $ 264922+0 records in
    264921+0 records out
    135639552 bytes (136 MB) copied, 9,82997 s, 13,8 MB/s
    Gruß
    iluminat23
    Wer Rechtschreibfehler findet, darf diese behalten. Legasthenie
    Oh Herr, meine Überlegenheit wird mir langsam zur Last.
    Ruf mich zurück!
    -- Dr. Perry Cox

  4. #4
    Registrierter Benutzer Avatar von blubbersuelze
    Registriert seit
    Aug 2003
    Beiträge
    449
    Danke für die Antworten,

    Aber wie mache ich das wenn man dd gestartet hat, in den Hintergrund geschoben hat und dann die Shell geschlossen hat und dann eine andere Shell wieder öffnet um den Status zu erfragen?

    Gibt es da eine Möglichkeit die Anzeige des Status auch zu bekommen?
    DAS ist nämlich das Problem.

    mfg.
    blubbersuelze
    "It's a little known fact, but the Pope likes penguins too."
    -Linus Torvalds

  5. #5
    Bastard User From Hell Avatar von kreol
    Registriert seit
    Oct 2004
    Beiträge
    7.969
    Wenn Du die shell schliesst, in der das dd läuft, stirbt dd doch mit, weil der Elternprozess fehlt.

    Deswegen ja wohl das bg (&), damit Du im gleichen Terminal das kill absetzen kannst. Ich mache das allerdings meistens mit einem weiteren Terminal und ohne das bg.

    Kreol
    Beim posten von Dateien oder Ausgaben bitte [code]Text[/code] verwenden. Nähere Info über vB-Tags gibt es hier

    I just want to know God's thoughts. The rest are details. (A. Einstein)

  6. #6
    Registrierter Benutzer Avatar von blubbersuelze
    Registriert seit
    Aug 2003
    Beiträge
    449
    *grmpf*

    also nochmal von vorne und zusammen gefasst:



    ich habe einen dd-Befehl wie folgt ausgeführt und in den Hintergrund geschoben.

    dd if=/dev/sda of=/dev/sdb &

    Anschließend Shell geschlossen !!

    Nun würde ich gerne herausfinden wie weit dd ist.

    Also Shell auf gemacht und:

    kill -USR1 <processid von dd>

    ebenso

    killall -USR1 <processid von dd>

    aber keine Statusrückmeldung ...

    also WIE bekomme ich die Statusanzeige trotzdem angezeigt?

    mfg.
    blubbersuelze
    "It's a little known fact, but the Pope likes penguins too."
    -Linus Torvalds

  7. #7
    Bastard User From Hell Avatar von kreol
    Registriert seit
    Oct 2004
    Beiträge
    7.969
    Nochmal zusammengefasst: Wenn Du die Shell, in der dd läuft, beendest, beendest Du auch das dd. Dann gibt es keinen Fortschritt mehr, da es kein dd mehr gibt...

    P.S.
    Und iluminat23 hat bereits darauf hingewiesen: killall erwartet die Bezeichnung des Prozesses, nicht die PID. Das hat mit Deinem Problem aber nichts zu tun, s.o.. kill oder killall findet kein dd mehr, da es nicht mehr läuft...

    P.P.S.
    Prüf das doch mal mit `pidof dd` oder ps aux | grep dd, ob ein dd nach dem Beenden der Muttershell noch läuft.

    Kreol
    Geändert von kreol (07.05.12 um 17:52 Uhr)
    Beim posten von Dateien oder Ausgaben bitte [code]Text[/code] verwenden. Nähere Info über vB-Tags gibt es hier

    I just want to know God's thoughts. The rest are details. (A. Einstein)

  8. #8
    Registrierter Benutzer Avatar von blubbersuelze
    Registriert seit
    Aug 2003
    Beiträge
    449
    Falsch .. dd gibt es noch .. in der Backgroundshell ...

    wenn man es wie ich es beschrieben habe starte ..

    aber der Aussage entnehme ich das ich nach Schließung der Shell keine Statusanzeige mehr bekommen kann .. zumindest nicht auf direktem Wege ...
    "It's a little known fact, but the Pope likes penguins too."
    -Linus Torvalds

  9. #9
    Bastard User From Hell Avatar von kreol
    Registriert seit
    Oct 2004
    Beiträge
    7.969
    Hier nicht. Wenn ich dd mit & starte liefert eine 2. shell mir die PID (mit pidof oder ps aux). Beende ich die Shell vom dd ist auch das dd weg.

    Eben gerade ausprobiert...

    Kreol
    Beim posten von Dateien oder Ausgaben bitte [code]Text[/code] verwenden. Nähere Info über vB-Tags gibt es hier

    I just want to know God's thoughts. The rest are details. (A. Einstein)

  10. #10
    Registrierter Benutzer
    Registriert seit
    Jan 2008
    Beiträge
    2.378
    Du suchst evtl. "pv".

    Code:
    dd if=/dev/sda | pv -f 2>dd.log | dd of=/dev/sdb
    An die dd.log kannst Du Dich jederzeit mit

    Code:
    tail -f dd.log
    dranhängen.

  11. #11
    Registrierter Benutzer Avatar von blubbersuelze
    Registriert seit
    Aug 2003
    Beiträge
    449
    ah Danke @Aqualung...

    endlich mal was sinnvolles an Aussage.

    Werde das in Zukunft dann wohl so machen müssen, das ich an den Status komme.

    mfg.
    blubbersuelze
    "It's a little known fact, but the Pope likes penguins too."
    -Linus Torvalds

  12. #12
    Registrierter Benutzer Avatar von buzz768
    Registriert seit
    Apr 2005
    Ort
    Rostock
    Beiträge
    2.011
    Oder dd in einem Screen laufen lassen
    Code:
    screen -dmS name dd if=/dev/urandom of=/dev/null
    kill -USR1 $(pidof dd)
    screen -r name
    Mit 'Strg-a' und danach 'd' verlässt man den Screen wieder. -S name ist nur nötig bzw. komfortabler, wenn mehrere Screens laufen.
    Arch Linux / Intel Z77 / i5-3570K / 8GB PC3-1333 / SAMSUNG SSD 830 128GB

Ähnliche Themen

  1. Versteckte Ordner und Dateien auf CD anzeigen
    Von D.Duck im Forum Linux Allgemein
    Antworten: 11
    Letzter Beitrag: 01.09.05, 02:46
  2. Fortschritt der Kompilierung anzeigen?
    Von kl47 im Forum Kompilieren von Kernel und Sourcen
    Antworten: 2
    Letzter Beitrag: 12.05.05, 10:50
  3. Quota Informationen auf Webseite anzeigen
    Von D3R S3H@ im Forum Linux Allgemein
    Antworten: 0
    Letzter Beitrag: 16.07.04, 08:44
  4. fortschritt anzeigen bei dd...
    Von Dragoran im Forum Linux Allgemein
    Antworten: 7
    Letzter Beitrag: 02.01.04, 23:16
  5. Map&Guide for Linux
    Von Torsten im Forum Anwendungen Allgemein, Software
    Antworten: 14
    Letzter Beitrag: 18.10.02, 13:14

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •