Warum lässt sich ein dd-Vorgang unter fbsd mit Strg+c sofort beenden, unter Linux nicht?

H

holgerw

Guest
Hallo,

jetzt habe ich schon seit längerem folgendes beobachtet:

Wenn ich unter fbsd einen USB-Stick per dd beschreibe, kann ich mit der Tastenkombination Strg+c diesen Vorgang sofort abbrechen.

Bisher war es unter jedem von mir genutztem Linux hingegen so, dass da ein Strg+c gar nichts gefruchtet hat, und der Stick munter weiter beschrieben wurde. Nur ein Rausziehen half.

Mir geht es hier gar nicht darum, diese Unterschiede zu bewerten. Ich möchte gerne wissen, womit das genau zusammen hängt? Hat es direkt was mit der Kerneltechnologie zu tun?

Vielleicht kann mir da jemand etwas zu erläutern.

Danke und viele Grüße
Holger
 
Naja, es sind zwei unterschiedliche Programme mit gleichem Namen und weitestgehend gleicher Funktion. Aber zwei unterschiedliche Programme.
 
Da dürfte auch Linux sehr aggressives Caching mit reinspielen. Unter Linux schreibt er erst den Cache voll, den Cache dann zurück auf das Device. Bis das passiert ist, lässt sich dd nicht unterbrechen, es wartet auf den Syscall.
 
Auch unter Linux beendet strg c dein dd, allerdings wird erst fsync aufgerufen und du siehst erst, dass dd geendet hat, wenn der Cache geschrieben wurde.

Da idr die Performance von dd unter fbsd auf ein raw device auch grottig im Vergleich zu Linux ist, nehme ich an bsd Cached hier weniger bis garnicht.
 
Hallo,

danke für die verschiedenen informativen Antworten.

Einen schönen Feiertag und Grüße
Holger
 
Zurück
Oben