OS X och Unix Terminal Det finns stoppade jobb.

Användare som försöker avsluta terminalsessioner blockeras ofta av rapporteringen av stoppade jobb. Upptäcka, starta om och döda dessa processer är viktiga lektioner för Mac och Unix-användare.

Susan tweeted mig följande igår:

Efter att jag avslutat en av dina mac tech-recept tutorials igår, kunde jag inte logga ut från min terminalsession i OS X. Meddelandet att "det finns stoppade jobb" visade sig och hindrade mig från att avsluta. Vad gjorde jag för fel?

Du gjorde inte något fel. Det här meddelandet informerar dig bara om att du lämnade en programmering som körs i bakgrunden medan du arbetar i skalet. Vanligtvis placeras ett program i bakgrunden genom att trycka på kontroll-Z-genvägen medan programmeringen körs.

När detta inträffar kommer terminalen att gömma programmet och meddela dig ett kommando så här:

[3] + Stoppad topp

[Numret] är antalet program som för närvarande finns i bakgrunden. Plustecknet visar att det är den senaste som går in i bakgrunden. Det sista ordet är det program som faktiskt stoppades. I mitt exempel använde jag kontroll-Z för att stoppa topp Ansökan.

jobb kommandot

Om du vill visa en lista över alla bakgrundsprogram använder du jobb kommando.

[1] Stoppad topp
[2] Stoppad topp
[3] - Stoppad topp
[4] + Stoppad man telnet

I mitt exempel ovan kan du se att jag har 4 stoppade applikationer. jag har topp i bakgrunden tre gånger och man telnet en gång.

fg kommando

Genom terminalen fg Kommando kommer att ta med det sista programmet tillbaka till framsidan. Det här är applikationen märkt med [+] via jobb kommando. När programmet är tillbaka till förgrunden kan du avsluta det ordentligt istället för att stoppa det. Till exempel skulle man helt lämna topp eller man genom att trycka på q nyckel. Dessutom kommer kontroll-c typiskt att döda programmet jämfört med kontroll-z som stoppar det.

Dessutom kan du byta till ett visst stoppat program via arbetsnummeret. Detta skulle till exempel växla till det markerade programmet [2]:

fg% 2

döda kommandot

Du kan också stoppa program via döda kommando. För att kunna använda kommandot Död måste vi komma åt process ID-nummer (PID) för de stoppade jobben med hjälp av jobb -l kommando:


[1] 833 Suspended: 18 top
[3] - 860 Suspended: 18 top
[4] + 861 Suspended: 18 man telnet

De -l Tillägg till vår jobb Kommandot visar PID: erna. Dessa är siffrorna som inte finns i parentes. Dessa är 833, 860 och 861 i vårt exempel ovan.

Genom att använda kommandot Död med ett program PID avslutas den applikationen. Om vi ​​ville döda man process i vårt exempel, skulle vi använda följande kommando:


döda 861

Dessutom kan du, som en genväg, döda alla program som listas genom kommandot jobb genom följande kod:


döda "jobb -p"