0Pricing
Linux Command Line & Bash Scripting Mastery · Lekcja

Zarządzanie zadaniami (bg, fg, jobs)

Opanuje Pan/Pani zarządzanie procesami działającymi w tle i na pierwszym planie, a także wstrzymywanie, wznawianie i wyświetlanie zadań w sesji powłoki.

Zarządzanie zadaniami (bg, fg, jobs) to bezpłatna lekcja Linux Command Line & Bash Scripting Mastery na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Linux Command Line & Bash Scripting Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Command Line & Bash Scripting Mastery zawiera 4 lekcji w sumie.

Czym jest sterowanie zadaniami?

Witaj w sekcji poświęconej sterowaniu zadaniami! Ta zaawansowana funkcja powłoki Linux pozwala zarządzać uruchomionymi programami bez zamykania terminala ani otwierania nowych okien.

Można traktować ją jak wielozadaniowość w wierszu poleceń. Możesz wstrzymać zadanie, przenieść je do tła lub przywrócić je na pierwszy plan.

Pierwszy plan a tło

Po uruchomieniu polecenia zazwyczaj działa ono na pierwszym planie. Oznacza to, że przejmuje kontrolę nad terminalem i nie można wpisywać nowych poleceń, dopóki jego działanie się nie zakończy.

Proces działający w tle działa natomiast niezależnie. Zwalnia terminal, dzięki czemu można wykonywać inne zadania, podczas gdy proces nadal działa.

Wstrzymywanie procesu (Ctrl+Z)

Aby wstrzymać aktualnie działający proces na pierwszym planie, należy użyć skrótu klawiaturowego Ctrl+Z. Wysyła on sygnał SIGTSTP, zawieszając proces.

Proces nie zostaje zakończony — staje się „zatrzymanym” zadaniem i czeka, aż zdecyduje Pan/Pani, co ma zrobić dalej.

Wyświetlanie zadań (jobs)

Po wstrzymaniu procesu (lub przeniesieniu go do tła) można wyświetlić listę wszystkich aktywnych zadań w bieżącej sesji powłoki za pomocą polecenia jobs.

Każde zadanie otrzymuje unikalny numer (na przykład [1], [2] itd.) oraz status (np. Stopped, Running).

sleep 50 &
sleep 60 &
jobs

Przenoszenie na pierwszy plan (fg)

Jeśli ma Pan/Pani zatrzymane lub działające w tle zadanie, można przenieść je z powrotem na pierwszy plan za pomocą polecenia fg, podając jego numer (np. %1).

Dzięki temu zadanie ponownie stanie się aktywnym procesem w terminalu.

sleep 100 &
jobs
# Now, let's bring it to foreground
fg %1

Przenoszenie do tła (bg)

Aby wznowić zatrzymane zadanie i przenieść je do tła, należy użyć polecenia bg wraz z numerem zadania.

Proces będzie działać dalej bez blokowania terminala, a znak zachęty pojawi się ponownie natychmiast.

sleep 200
# Press Ctrl+Z to stop it
# Then type:
bg %1
jobs

Uruchamianie w tle ( & )

Nie zawsze trzeba uruchamiać proces na pierwszym planie, a następnie go wstrzymywać. Polecenie można uruchomić bezpośrednio w tle, dopisując ampersand (&) na końcu polecenia.

To świetne rozwiązanie w przypadku długotrwałych zadań, z którymi nie trzeba wchodzić w interakcję.

echo "Starting long task..." &
sleep 300 &
jobs

Numery zadań i identyfikatory PID

Po użyciu jobs wyświetlane są numery zadań, takie jak [1] czy [2]. Są one przypisane do bieżącej sesji powłoki.

Każdy działający proces ma również unikalny identyfikator procesu (PID), czyli numer obowiązujący w całym systemie. Identyfikatory PID można wyświetlić za pomocą jobs -l lub ps.

sleep 100 &
jobs -l

Zatrzymywanie zadań (kill)

Aby zakończyć działające w tle lub zatrzymane zadanie, można użyć polecenia kill. Można podać numer zadania (np. kill %1) albo jego identyfikator PID (np. kill 12345).

kill wysyła sygnał do procesu. Domyślnie jest to SIGTERM (łagodne zakończenie). Aby wymusić zakończenie, należy użyć polecenia kill -9 %job_number lub kill -9 PID.

sleep 500 &
jobs
# Assuming sleep is job 1:
kill %1
jobs

Quiz: zarządzanie zadaniami

Uruchomił(a) Pan/Pani długotrwałe polecenie (np. find / -name *.txt), ale teraz potrzebuje odzyskać terminal, aby wpisać inne polecenie. Jaka jest prawidłowa kolejność czynności, aby wstrzymać polecenie find, przenieść je do tła, tak aby nadal działało, a następnie potwierdzić, że jest zadaniem działającym w tle?

Podsumowanie: zarządzanie zadaniami

Opanował(a) Pan/Pani zarządzanie zadaniami!

  • Ctrl+Z wstrzymuje proces działający na pierwszym planie.
  • jobs wyświetla listę wszystkich aktywnych zadań.
  • fg %N przenosi zadanie N na pierwszy plan.
  • bg %N przenosi zatrzymane zadanie N do tła.
  • Dopisanie & uruchamia polecenie bezpośrednio w tle.
  • kill %N lub kill PID kończy zadanie.

Pozwala to sprawnie zarządzać wieloma zadaniami w ramach jednej sesji terminala!

Często zadawane pytania

Czy lekcja „Zarządzanie zadaniami (bg, fg, jobs)” jest bezpłatna?

Tak — pełny tekst „Zarządzanie zadaniami (bg, fg, jobs)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Linux Command Line & Bash Scripting Mastery, przejdź na CoddyKit PRO. Kurs Linux Command Line & Bash Scripting Mastery zawiera 4 lekcji w sumie.

Co nauczysz się w „Zarządzanie zadaniami (bg, fg, jobs)”?

Opanuje Pan/Pani zarządzanie procesami działającymi w tle i na pierwszym planie, a także wstrzymywanie, wznawianie i wyświetlanie zadań w sesji powłoki. Ćwiczysz Linux Command Line & Bash Scripting Mastery z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Linux Command Line & Bash Scripting Mastery?

Nie wymagamy żadnego doświadczenia. Linux Command Line & Bash Scripting Mastery w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Zarządzanie zadaniami (bg, fg, jobs)”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Linux Command Line & Bash Scripting Mastery?

Tak. Każda lekcja Linux Command Line & Bash Scripting Mastery zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Zarządzanie zadaniami (bg, fg, jobs)
  2. Rozwijanie poleceń powłoki i globbing
  3. Aliasy i niestandardowe znaki zachęty
  4. Funkcje powłoki i wielokrotnego użytku fragmenty kodu
← Powrót do Linux Command Line & Bash Scripting Mastery