Jak wstrzymać & Wznawianie aplikacji lub procesu w systemie Mac OS X
Chcesz szybko zwolnić trochę mocy obliczeniowej? Możesz to łatwo zrobić, tymczasowo wstrzymując, a następnie wznawiając dowolny aktywny proces lub aplikację w systemie Mac OS X. Technicznie rzecz biorąc, jest to właściwie „zatrzymywanie” i „kontynuowanie” procesu, ale zatrzymania nie należy mylić z bardziej agresywnym zabijaniem lub wymusić zamknięcie aplikacji, a zatem terminologia wstrzymywania lub zatrzymywania jest często łatwiejsza do rozróżnienia.
Oznacza to, że możesz wziąć proces, który zużywa 100% procesora, i tymczasowo go wstrzymać, gdy robisz coś innego, a następnie wznowić go, gdy będziesz gotowy, aby proces wykonał swoje zadanie. Osiąga się to za pomocą sztuczki wiersza poleceń, a my omówimy dwa różne sposoby, aby to zrobić, używając poleceń kill i killall z flagami -STOP i -CONT. Idealnie byłoby, gdybyś miał trochę wygody i wiedzy z wiersza poleceń przed użyciem tego, ale z pewnością nie jest to konieczne.
Przed rozpoczęciem uruchom aplikację Terminal, którą można znaleźć w katalogu /Applications/Utilities/, a także uruchom Monitor aktywności, który znajduje się w tym samym folderze.
Jak tymczasowo zawiesić proces lub aplikację w systemie Mac OS X
Podstawowa składnia zawieszania aplikacji jest następująca, gdzie PID to identyfikator procesu, który chcesz wstrzymać:
kill -STOP PID
PID jest zawsze liczbą, a każdy proces uruchomiony na komputerze Mac ma powiązany identyfikator.
Jeśli jesteś zaznajomiony z pobieraniem identyfikatorów procesów, to wiesz już, co robić, używając samych powyższych poleceń, ale jeśli nie, to tym zajmiemy się w następnej kolejności i dlatego uruchomiliśmy „Aktywność Monitor"
Znajdowanie PID i zatrzymywanie powiązanego procesu
To jest bardziej przyjazna dla użytkownika metoda, wykorzystująca Monitor aktywności:
- W Monitorze aktywności użyj funkcji wyszukiwania w prawym górnym rogu i wpisz nazwę aplikacji, którą chcesz zawiesić (np.: iTunes)
- Po wyświetleniu pasujących procesów i/lub aplikacji znajdź identyfikator procesu, patrząc w kolumnie „PID”
- Dodaj pasujący PID do powyższego polecenia kill, na przykład:
- Zauważ, że aktywność procesora dla tego identyfikatora procesu wynosi teraz 0%, co wskazuje, że proces został wstrzymany (technicznie rzecz biorąc, zatrzymany)
zabij -STOP 3138
Nie zapomnij o PID lub jeszcze lepiej nie zamykaj jeszcze całkiem okna Terminala, ponieważ ten sam PID jak wznowisz działanie aplikacji, aby nadal móc z niej korzystać.
Wpływ zatrzymania procesu na użycie procesora jest dramatyczny, ten zrzut ekranu pokazuje, że iTunes zużywa 70% procesora podczas działania jego wizualizatora i ten sam proces iTunes po zatrzymaniu za pomocą - flaga STOP. Proces został dosłownie zatrzymany:
Osoby bardziej zaznajomione z wierszem poleceń mogą preferować używanie ps zamiast Monitora aktywności, co jest naprawdę całkiem proste:
ps aux |grep Nazwa
Zmień „Nazwę” na dowolną nazwę początku procesu lub aplikacji, znajdź PID, a następnie umieść go w poleceniu kill:
zabij -STOP 92841
Nie ma znaczenia, czy używasz Monitora aktywności, czy ps do pobrania PID, o ile wprowadzisz poprawny identyfikator procesu podczas używania polecenia kill.
Pamiętaj, że próba użycia wstrzymanej aplikacji prawie zawsze kończy się wyświetleniem wirującej piłki plażowej śmierci, pomniejszonej o obciążenie procesora. Dlatego jeśli chcesz ponownie korzystać z aplikacji, musisz ją „wznowić”.
Jak wznowić „zatrzymaną” aplikację lub proces
Wznawianie zatrzymanej lub wstrzymanej aplikacji jest proste, wystarczy nieco zmienić polecenie kill i użyć tego samego identyfikatora procesu, który został pobrany z poprzednich kroków:
kill -CONT PID
Na przykład, aby wznowić aplikację iTunes przy użyciu wcześniejszego PID:
zabij -CONT 3138
A teraz iTunes znów staje się użyteczny, bez obracającego się kursora oczekiwania. Wraz z tym następuje powrót do wcześniejszego poziomu zużycia procesora.
Zrzut ekranu poniżej pokazuje tę sztuczkę przy użyciu poleceń kill i killall:
Używanie -STOP i -CONT z killall jest zasadniczo takie samo, ale ma pewne ograniczenia dotyczące nazw, dlatego omówiliśmy bardziej bezpośrednią metodę użycia kill w oparciu o PID. Niemniej jednak zademonstrujmy to również za pomocą killall.
Zatrzymywanie i kontynuowanie aplikacji według nazwy aplikacji
Jeśli znasz aplikację lub dokładną nazwę procesu, możesz również użyć polecenia „killall” z flagą -STOP, aby zatrzymać procesy.Może to być łatwiejsze w przypadku aplikacji, które można łatwo zidentyfikować na podstawie nazwy, ale ma ograniczenia, jeśli chodzi o pracę z procesami o złożonych nazwach lub wstrzymywanie określonego procesu, który ma zduplikowane procesy o tej samej nazwie (np. określona karta Chrome lub okno zmieszane z wieloma procesami „Google Chrome Renderer”), dlatego najpierw omówiliśmy podejście PID, ponieważ jest ono znacznie bardziej bezpośrednie.
Podstawowe polecenie zatrzymania w killall jest następujące:
killall -STOP nazwa aplikacji
Nie wiesz, jaka jest nazwa aplikacji? Użyj ps i grep:
ps aux |grep Nazwa aplikacji
Możesz na przykład wyszukać „Chrome”, aby znaleźć wszystkie procesy z „Chrome” w nazwie:
ps aux|grep Chrome
Możesz też po prostu wskazać proces za pomocą określonej nazwy aplikacji, takiej jak:
"killall -STOP -c Google Chrome"
Wznawianie procesów i aplikacji za pomocą killall polega na zmianie flagi z -STOP na -CONT, wszystko inne jest takie samo:
killall -CONT Nazwa aplikacji
Na przykład, aby wznowić aplikację z długą nazwą:
"killall -CONT -c Google Chrome"
Ponownie aplikacja/proces będzie działać normalnie, a użycie procesora powróci do poziomu sprzed wstrzymania.
Killall może mieć bezpośredni wpływ na aplikacje lub procesy bez spacji w nazwie bez żadnych dodatkowych flag ani wskaźników, takich jak iTunes.