Bash: Bei Exit „there are stopped jobs“

Solltest du über die there are stopped jobs fallen und nicht weiterwissen, hilft dieser Beitrag.

TL;DR

  • Lasse dir eine Liste von Hintergrund-Aufträgen mit jobs anzeigen.
  • Setze den besagten Job in den Vordergrund fg {n}.
  • Beende den Job wie gewohnt.

Motivation

Arbeiten innerhalb von virtuellen Umgebungen, ist so normal. Und doch kommen Dinge urplötzlich um die Ecke wo man neue Dinge lernen darf.

Hier das ist so ein Ding.

Einfach mal so erschien nach einem exit die Meldung there are stopped jobs. Und bam ich war immer noch verbunden.

Erst dachte ich so: „Ok, who cares, lets run it again“. Was kann da schon schief gehen. ?‍♂️

Naja, schief ging nichts. Aber die Verbindung wurde auch nicht geschlossen.

Na gut, dann eben anders.

There Are Stopped Jobs

Die Fehlermeldung lässt sich auf Bash¹ zurückverfolgen.

Dadurch lernen wir das There are stopped jobs immer auftritt, wenn mindestens ein Prozess gestoppt ist.

Gestoppt bedeutet, angehalten aber nicht beendet. Also eine Art Pause.

Und wo Pause, da auch ein Play.

Mit fg {jobID} können wir zu angehaltenen Jobs zurückkehren um sie standardgemäß zu schließen.

Die „jobId“ erhalten wir mit jobs.

Das sieht in etwa so aus:

smoothie@smoo:spielwiese$ jobs
[1] + Stopped                npm run watch
smoothie@smoo:spielwiese$ 

Hintergrundprozesse mit Hilfe der Job ID beenden

  • Führe jobs aus und merke dir die Zahl in den eckigen Klammern ([n]).
  • Setze mit fg [n] den Prozess in den Vordergrund.
  • Beende den Prozess. Wie normalerweise.
    • Im interaktiven Python: [ctrl] + D.
    • Oder während eines Webpack „watch“: [ctrl] + C (+ [ctrl] + C).
  • Sollte der Prozess nicht schließbar sein, dann schließe ihn mit kill %[n].
Gestoppte Prozesse anzeigen und beenden

Kudos

Mein Dank geht an OldTimer@unix.stackexchange.

Notes

1: Link zum inoffiziellen Bash Github-Mirror.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert