Chris: LINUX: Was ist ein Zombie-Prozess?

Hallo Leute,

ich beschäftige mich gerade etwas mit den diversen Linux-Servern, in die ich reinbgucken darf. Dabei ist mir der Begriff Zombie-Prozess (speziell in 'top') aufgefallen.

Leider konnte ich auch nirgeds eine Begriffsbestimmung finden. Vielleicht wäre eine auf der 11. Seite von Google gekommen. Soweit habe ich es dann eben doch nicht getrieben.

Meine zwei Fragen lauten also:

  • was ist ein Zombie-Prozess?
  • Wo kann ich Begriffsbestimmungen finden, damit ich das nächste Mal
      selber nachgucken kann?

Grüße vom Chris

  1. Hi Chris

    Meine zwei Fragen lauten also:

    • was ist ein Zombie-Prozess?

    Ein Prozess, der bereits beendet ist, aber trotzdem noch im Speicher vorgehalten wird. Der Vater-Prozess kann so später immer noch das versäumte Auswerten des Rückgabestatus des Zombies vornehmen.

    • Wo kann ich Begriffsbestimmungen finden, damit ich das nächste Mal
        selber nachgucken kann?

    www.google.de

    gruss
    felix

    1. Hello,

      • Wo kann ich Begriffsbestimmungen finden, damit ich das nächste Mal
          selber nachgucken kann?
        www.google.de

      Bei Google habe ich auch gerade geschaut. Das war wirklich nicht sehr aussagefähig

      Wer hat denn Kontrolle über diesen Prozess?
      Ginge das auch auf einem WinDOS-System?
      Bei DOS wurde mit INT 21h AH=49h der Speicher eines Programmes wieder freigegeben. Wenn man das unterlässt, hat man eine Leiche produziert. Wenn das Programm sich dann nicht ordnungsmeäß im Multiplexer angemeldet hatte, und eine Methode zur Freigabe mitgebracht hat, war irgendwann kein Speicher mehr da.

      Wie wird sowas denn unter Linux und anderen neueren Betriebssystemen geregelt?

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Hallo Tom,

        Wer hat denn Kontrolle über diesen Prozess?

        Der Prozess existiert nicht mehr. Es gibt keine Kontrolle mehr auszuueben. Er ist nur noch
        in der Prozessliste eingetragen, er hat keinerlei Ressourcen mehr zugeordnet. Fuer die
        endgueltige Loeschung aus der Prozessliste fehlt nur noch der wait()-Call des
        Vaterprozesses.

        Wie wird sowas denn unter Linux und anderen neueren Betriebssystemen geregelt?

        Wenn der Prozess beendet wird, gibt das System die Ressourcen automatisch wieder frei.

        Grüße,
         CK

        --
        So, wie ein Teil ist, ist das Ganze.
        http://wwwtech.de/
        1. Hello,

          Wie wird sowas denn unter Linux und anderen neueren Betriebssystemen geregelt?

          Wenn der Prozess beendet wird, gibt das System die Ressourcen automatisch wieder frei.

          Danke. Dann kann man also davon ausgehen, dass mit allen "beendeten Prozessen" die noch irgendwo Ressourcen halten, etwas nicht stimmt.

          Das sind dann also vermutlich anonyme TSRs mit bestimmt keinen guten Absichten

          Ich wollte mich immer schon ausfühlicher mit der Systemprogrammierung unter Linux beschäftigen, aber irgendwie finde ich da keinen Zugang. Wie fängt man denn am besten an? So ein paar grundlegende Sachen habe ich ja aschon ausprobiert, aber ich gestehe, der Stoff aus Helmut Herolds Buch ist mir zu hoch für den Anfang.

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. Hallo Tom,

            Ich wollte mich immer schon ausfühlicher mit der Systemprogrammierung unter Linux
            beschäftigen, aber irgendwie finde ich da keinen Zugang. Wie fängt man denn am besten an?
            So ein paar grundlegende Sachen habe ich ja aschon ausprobiert, aber ich gestehe, der
            Stoff aus Helmut Herolds Buch ist mir zu hoch für den Anfang.

            Der Herold ist beschissen. Viele Beispiele, keine Erklaerungen. »Advanced Programming In
            The UNIX(tm) Environment« von Stevens kann ich nur empfehlen.

            Grüße,
             CK

            --
            Unsere Vorstellungen von der Ewigkeit sind genauso nuetlich wie die Mutmassungen eines Kuehkens ueber die Aussenwelt bevor es die Eierschale aufbricht.
            http://wwwtech.de/
            1. Hello,

              Ich wollte mich immer schon ausfühlicher mit der Systemprogrammierung unter Linux
              beschäftigen, aber irgendwie finde ich da keinen Zugang. Wie fängt man denn am besten an?
              So ein paar grundlegende Sachen habe ich ja aschon ausprobiert, aber ich gestehe, der
              Stoff aus Helmut Herolds Buch ist mir zu hoch für den Anfang.

              Der Herold ist beschissen. Viele Beispiele, keine Erklaerungen. »Advanced Programming In
              The UNIX(tm) Environment« von Stevens kann ich nur empfehlen.

              Muss ich mal versuchen, mir das irgendwo auszuleihen. Früher habe ich sie gekauft, meterweise und zum größten Teil auch verschlungen. Aber noch ne Buchleiche kann ich mir nicht mehr langfsam nicht mehr leisten. Gibts da irgendwo vielleicht ein Auszug (Lesseprobe) zum Download im Netz?

              Harzliche Grüße aus http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
              1. Hallo Tom,

                [...] Gibts da irgendwo vielleicht ein Auszug (Lesseprobe) zum Download im Netz?

                AFAIK nicht.

                Grüße,
                 CK

                --
                Das Leben ist wie ein Kartenspiel: was dir gegeben wurde, ist vorbestimmt. Doch wie du damit spielst, ist deine Entscheidung.
                http://wwwtech.de/
              2. Hallo Ihr Fachleute,

                Der Herold ist beschissen. Viele Beispiele, keine Erklaerungen.

                Dann muss ich mich ja nicht schämen.
                @tom: jetzt weiß ich auch, warum Du das noch nicht vermisst hast. hatte ich mir nämlich neulich einfach asugeleihen udn steht noch bei mir.

                »Advanced Programming In

                The UNIX(tm) Environment« von Stevens kann ich nur empfehlen.

                Muss ich mal versuchen, mir das irgendwo auszuleihen. Früher habe ich sie gekauft, meterweise und zum größten Teil auch verschlungen. Aber noch ne Buchleiche kann ich mir nicht mehr langfsam nicht mehr leisten. Gibts da irgendwo vielleicht ein Auszug (Lesseprobe) zum Download im Netz?

                Wenn Du es kaufst, gebe ich was dazu ;-)
                Natürlich nur, wenn ich auch reinschauen darf.

                Grüße vom Chris

                1. Hello,

                  @tom: jetzt weiß ich auch, warum Du das noch nicht vermisst hast. hatte ich mir nämlich neulich einfach asugeleihen udn steht noch bei mir.

                  Du, Du! Mit erhobenem Zeigefinger. Und keine Karte angelegt! Das hol mal bitte nach.

                  Wenn Du es kaufst, gebe ich was dazu ;-)
                  Natürlich nur, wenn ich auch reinschauen darf.

                  Darauf komme ich zurück. Dann rückt ein gutes Buch mehr schon wieder in die Nähe des Möglichen.
                  Du darfst aber nur reinschauen, wenn wir auch gemeinsam über die Konzepte sinnen. Ich zahle auch das Hefeweizen *GG* (große Gs wegen großen Hefeweizen)

                  Harzliche Grüße aus http://www.annerschbarrich.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  Nur selber lernen macht schlau
              3. Hi Tom!

                Muss ich mal versuchen, mir das irgendwo auszuleihen. Früher habe ich sie gekauft, meterweise und zum größten Teil auch verschlungen. Aber noch ne Buchleiche kann ich mir nicht mehr langfsam nicht mehr leisten. Gibts da irgendwo vielleicht ein Auszug (Lesseprobe) zum Download im Netz?

                Bei Amazon gibt es ein klein wenig: http://www.amazon.com/gp/reader/0201563177/ref=sib_dp_ln/104-3260418-6860757#reader-page

                Grüße
                Andreas

                --
                SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/
                1. Hello Andreas,

                  Bei Amazon gibt es ein klein wenig: http://www.amazon.com/gp/reader/0201563177/ref=sib_dp_ln/104-3260418-6860757#reader-page

                  Danke für den Tipp.
                  Das sieht trotz englisch schon mal nicht so kryptisch aus, wie der Herold.
                  Ich werde mal bei eBay schauen, ob es dort einer verkauft.

                  Harzliche Grüße aus http://www.annerschbarrich.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  Nur selber lernen macht schlau
          2. Hallo Tom,

            Das sind dann also vermutlich anonyme TSRs mit bestimmt keinen guten Absichten

            Ähm, TSRs gab's unter DOS - unter Linux gibt's die mit Sicherheit nicht. ;-) Und unter DOS waren die Dinger nichts anderes, als eine Krücke, um im Hintergrund laufende Prozesse zu "simulieren" - unter Linux, Windows ab 95 bzw. NT etc. kümmert sich das Betriebsystem selbst jedoch um die Prozesse (desweiteren können Prozesse auch im Hintergrund laufen) und solche Krücken sind überflüssig.

            Viele Grüße,
            Christian

            1. Hello,

              Ähm, TSRs gab's unter DOS - unter Linux gibt's die mit Sicherheit nicht. ;-) Und unter DOS waren die Dinger nichts anderes, als eine Krücke, um im Hintergrund laufende Prozesse zu "simulieren" - unter Linux, Windows ab 95 bzw. NT etc. kümmert sich das Betriebsystem selbst jedoch um die Prozesse (desweiteren können Prozesse auch im Hintergrund laufen) und solche Krücken sind überflüssig.

              Naja, irgendwie müssen die sich ja ins Betriebssystem einklinken.
              Haben die eine eigene virtual Maschine für sich, oder wie werden die Prozesse gegeneinander abgeschirmt? Bei Linux scheint das Konzept ja sogar sauber zu laufen und nicht durch irgendwelche unqualifizierten Gates durchlöchert worden zu sein.

              Harzliche Grüße aus http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
              1. Hallo Tom,

                Ähm, TSRs gab's unter DOS - unter Linux gibt's die mit Sicherheit nicht. ;-) Und unter
                DOS waren die Dinger nichts anderes, als eine Krücke, um im Hintergrund laufende
                Prozesse zu "simulieren" - unter Linux, Windows ab 95 bzw. NT etc. kümmert sich das
                Betriebsystem selbst jedoch um die Prozesse (desweiteren können Prozesse auch im
                Hintergrund laufen) und solche Krücken sind überflüssig.

                Naja, irgendwie müssen die sich ja ins Betriebssystem einklinken.
                Haben die eine eigene virtual Maschine für sich, oder wie werden die Prozesse
                gegeneinander abgeschirmt? Bei Linux scheint das Konzept ja sogar sauber zu laufen und
                nicht durch irgendwelche unqualifizierten Gates durchlöchert worden zu sein.

                http://de.wikipedia.org/wiki/Multitasking
                http://de.wikipedia.org/wiki/Pr�emptives_Multitasking

                Grüße,
                 CK

                --
                Das Sein entsteht aus dem Nicht-Sein.
                http://wwwtech.de/
                1. Hello Christian,

                  http://de.wikipedia.org/wiki/Multitasking
                  http://de.wikipedia.org/wiki/Pr�emptives_Multitasking

                  Die grundlegenden Methoden sind mir schon bekannt.
                  Bei eingien Betriebssystemen scheint es da aber doch wohl bis heute Schwierigkeiten mit der Abgrenzung der Descriptortabellen gegeneinander zu geben. Außerdem müssen die bei jedem "Interrupt" auch vollständig swapped werden und die des angefordertetn Prozesses geladen...

                  Ich versuche eben, das unter Linux endlich mal zu lernen.

                  Harzliche Grüße aus http://www.annerschbarrich.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  Nur selber lernen macht schlau
      2. Hallo Tom,

        Ginge das auch auf einem WinDOS-System?

        Ich kenne das Windows-API nur oberflächlich, aber etwas vergleichbares, wie einen Zombie-Prozess habe ich unter WIndows noch nie gesehen. Kann natürlich sein, dass es den auch gibt.

        Bei DOS wurde mit INT 21h AH=49h der Speicher eines Programmes wieder freigegeben. Wenn man das unterlässt, hat man eine Leiche produziert. Wenn das Programm sich dann nicht ordnungsmeäß im Multiplexer angemeldet hatte, und eine Methode zur Freigabe mitgebracht hat, war irgendwann kein Speicher mehr da.

        Ja, aber DOS hat sich auch nicht um die Prozesse gekümmert, wie moderne Betriebsysteme es tun. DOS waren die verschiedenen Prozesse eigentlich fast vollständig egal.

        Viele Grüße,
        Christian

        1. Hello,

          Ja, aber DOS hat sich auch nicht um die Prozesse gekümmert, wie moderne Betriebsysteme es tun. DOS waren die verschiedenen Prozesse eigentlich fast vollständig egal.

          Eigentlich gab es ja aich nur einen. Das wurde dann erst Durch NOVELL-DOS (DOS 7) und ähnliche und die neue Speicherverwaltung unter DOS 6.2x korrigiert. Da hatte man dann dank der Virtual Machines plötzlich 720kB Speicher für das eigentliche Programm zur Verfügung.

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau