Control+ Zsłuży do zawieszenia procesu poprzez wysłanie sygnału SIGSTOP
, którego program nie może przechwycić. Podczas gdy Control+ Csłuży do zabicia procesu za pomocą sygnału SIGINT
i może zostać przechwycony przez program, aby mógł wyczyścić się przed wyjściem lub w ogóle nie wyjść.
Jeśli zawiesisz proces, pojawi się on w powłoce, informując, że został zawieszony:
[1]+ Stopped yes
Jeśli jednak zabijesz jednego z nich, nie zobaczysz żadnego potwierdzenia oprócz powrotu do powłoki. Gdy zawieszasz proces, możesz też robić z nim wymyślne rzeczy. Na przykład uruchomienie tego:
fg
Po zawieszeniu programu przywróci go na pierwszy plan.
I uruchomienie polecenia
bg
Z zawieszonym programem pozwoli na uruchomienie go w tle (jednak program nadal będzie przechodził do TTY).
Jeśli chcesz zabić zawieszony program, nie musisz go fg
najpierw przywracać , możesz po prostu wykonać polecenie:
kill %1
Jeśli masz wiele zawieszonych poleceń, uruchomione
jobs
wyświetli je w następujący sposób:
[1]- Stopped pianobar
[2]+ Stopped yes
Korzystanie %#
, gdzie #
to liczba miejsc pracy (jeden w nawiasach kwadratowych od jobs
wyjścia) z bg
, fg
lub kill
mogą być wykorzystywane do wykonania czynności na tej pracy.
stty
polecenia. Na przykładstty susp ^Z
lubstty intr ^C
.amarok
i uruchomkillall amarok
, lub uruchomps aux
i znajdź identyfikator procesu obok nazwy pliku wykonywalnego i uruchomkill {process id}
.Ctrl + Z zawiesza proces za pomocą SIGTSTP, możesz go wznowić później. Ctrl + C zabija proces za pomocą SIGINT, który kończy proces, chyba że jest on obsługiwany / ignorowany przez cel, więc nie można go wznowić. Istnieje również SIGSTOP, który może zostać wysłany
kill()
i którego proces nie może przechwycić. SIGCONT jest odpowiednikiem zarówno SIGSTOP, jak i SIGTSTP, który anuluje proces.źródło
kill()
pozwala dobrze wysłaćSIGSTOP
do grupy.CTRL + Z zatrzymuje (wstrzymuje) zadanie
CTRL + C kończy zadanie
za pomocą CTRL + C nie można wznowić procesu, ale za pomocą CTRL + Z zadanie można wznowić po prostu wpisując komendę promt:
jeśli masz wiele procesów wstrzymanych, powinieneś to zrobić
aby zobaczyć wynik i wybrać odpowiedni numer do wznowienia, np
wznawia trzecie zadanie na liście. Możesz także uruchamiać zadania w tle za pomocą
gdzie n jest numerem zadania.
źródło
I
Za pomocą Cntrl + C nie można wznowić procesu. gdzie używając Cntrl + Z możesz wznowić proces.
użyj fg% 1, aby wznowić proces.
źródło
CTRL+ Zzatrzymuje (zatrzymuje) zadanie
CTRL+ Ckończy zadanie
Za pomocą CTRL+ Cnie można wznowić procesu, ale za pomocą CTRL+ Zzadanie można wznowić po prostu wpisując w wierszu polecenia:
Jeśli wstrzymałeś wiele procesów, powinieneś to zrobić
aby zobaczyć wynik.
źródło
Poprzednie odpowiedzi są poprawne, ale z jakiegoś nieznanego powodu Ctrl-Z zawiesza również wszystkie procesy potomne, ale killall -SIGSTOP ... zawiesza tylko proces z przodu (nadrzędny) i pozostawia dzieci do uruchomienia, jak im się podoba.
źródło