Während des Linux-Studiums habe ich versucht, mich abzumelden ... Jemand war außer Sicht und ich konnte mich nicht abmelden. Ich bin dort auf einen Hintergrundjob gestoßen, habe ihn nachgeschlagen und zusammengefasst. [Umwelt] Studieren mit Cygwin Version 3.1.4-1
Hintergrund = unsichtbarer Ort Job = Verarbeitung
∴ Die Verarbeitung wurde für den Menschen unsichtbar durchgeführt
Die aktiven Jobs werden in einer Liste mit diesen magischen Befehlsjobs angezeigt.
Hiobs Sicht
$ jobs #Aufführen
$ jobs -l #Die Prozess-ID [PID] wird ebenfalls angezeigt
$ jobs -p #Nur Prozess-ID anzeigen [PID]
$ jobs -r #Laufen(running)Nur Prozess anzeigen
$ jobs -s #Anhalten(stopped)Nur Prozess anzeigen
Wie man Jobs zählt
$ sleep 120 #Dies ist 1 Job
$ sleep 10 & echo “I’m a job“ #Dies ist auch 1 Job
$ echo “I’m a echo” && echo “me too“ #Dies ist auch 1 Job
Wenn Sie die vorherigen Jobs normal ausführen, wird sie als Vordergrundjob ausgeführt. Mit anderen Worten, der Teil des Jobs, der vorne zu sehen ist. Ich kann den Job sehen (Job, auf den ich aufpassen muss) = Ich kann keine anderen Jobs machen
∴ Es kann kein anderer Job ausgeführt werden, da die Shell angehalten wird, während der Vordergrundjob ausgeführt wird.
Vordergrundjob
$ sleep 120 #120 Sekunden lang beobachten
Wenn Sie einen Job hinter den Kulissen im Hintergrund ausführen, können Sie einen anderen Job ausführen. Aber da ich hinter den Kulissen bin, empfange ich keine Signale von der Tastatur.
∴ Job und Shell werden während der Hintergrundausführung gleichzeitig ausgeführt
Hintergrundjob
$ sleep 120 &
#&Laufen Sie im Hintergrund mit
& Ist ein Miso.
Da Menschen nur einzelne Aufgaben erledigen können, bitten wir PCs um Multitasking. Zum Beispiel können Sie beim Abwasch nicht lesen. Daher können Sie lesen, während Sie mit dem Geschirrspüler gewaschen werden. Mögen.
5 Jobs GO!
$ sleep 120
#ctrl+Auftragsstornierung mit z
$ sleep 120 &
$ sleep 120 &
$ sleep 120 &
$ sleep 120 &
Job-Liste
$ jobs #Listenanzeige
[1]+Hör auf zu schlafen 120
[2]Laufender Schlaf 120&
[3]Laufender Schlaf 120&
[4]Laufender Schlaf 120&
[5]-Laufender Schlaf 120&
# +Wird der Job gerade ausgeführt?
# -Ist der Job, der unmittelbar zuvor ausgeführt wurde
Es ist in Ordnung, es auszuführen, aber wenn Sie versuchen, sich abzumelden, während es im Hintergrund ausgeführt wird, bleiben Sie stecken. Es gibt zwei Möglichkeiten, hier anzuhalten
Befehl töten
$ jobs -l #-l Optionale Prozess-ID[PID]Anzeige
#Bestätigen Sie die PID des Jobs, den Sie beenden möchten
[1]+ 1663 Stopped sleep 120
[2]1674 Laufender Schlaf 120&
[3]1675 laufender Schlaf 120&
[4]1676 Laufender Schlaf 120&
[5]1677 Laufender Schlaf 120&
[6]1678 Laufender Schlaf 120&
[8]1680 laufender Schlaf 120&
[9]1681 Laufender Schlaf 120&
[10]1682 Laufender Schlaf 120&
[11]-1683 Laufender Schlaf 120&
$ kill 1674
#Überprüfen Sie, ob Sie fertig sind
$ jobs -l
[1]+ 1663 Stopped sleep 120
[2] 1674 Terminated sleep 120
[3]1675 laufender Schlaf 120&
[4]1676 Laufender Schlaf 120&
[5]1677 Laufender Schlaf 120&
[6]1678 Laufender Schlaf 120&
[8]1680 laufender Schlaf 120&
[9]1681 Laufender Schlaf 120&
[10]1682 Laufender Schlaf 120&
[11]-1683 Laufender Schlaf 120&
Übergeben Sie die Jobnummer an den Befehl fg und beenden Sie den Job mit Strg + c.
fg Befehl
$ sleep 120 &
[2] 1686
$ jobs
[1]+Hör auf zu schlafen 120
[2]-Laufender Schlaf 120&
#Übergeben Sie die Auftragsnummer an den Befehl fg
$ fg 2
sleep 120
#Hier Strg+Job in C beenden
Der Job, der mit Strg + Z gestoppt wurde, bleibt für immer. Verarbeitet durch Auferstehung → Ende.
fg Befehl
$ jobs
[1]+Hör auf zu schlafen 120
$ fg 1 #Übergeben Sie die Auftragsnummer an den Befehl fg
sleep 120
$ sleep 120
[1]+Hör auf zu schlafen 120
#ctrl+Beenden Sie mit c
bg Befehl
$ bg 1 #Übergeben Sie die Auftragsnummer an den Befehl bg
[1]+ sleep 120 &
$ jobs -l #-l Optionale PID-Bestätigung
[1]+1687 laufender Schlaf 120&
$ kill 1687
$ jobs
[1]+ Terminated sleep 120
kill ist die Prozess-ID und fg und bg sind die Jobnummern. Was ist der Unterschied zwischen einem Prozess und einem Job?
[Linux] Ende des Prozesses oder Jobs, was ist besser?
Recommended Posts