Anuluj aplikację w Mac OS X.

28

Próbowałem parsować gigantyczny plik XML i skończyło mi się na wirtualnej pamięci. System operacyjny wstrzymał wszystkie moje aplikacje i dał mi ekran do zamykania aplikacji, aby zwolnić więcej miejsca. Zabiłem aplikację parsującą XML i mam teraz mnóstwo miejsca, ale nie mogę już wznowić moich wstrzymanych aplikacji. Co powinienem zrobić?

Xster
źródło

Odpowiedzi:

39

Znajdź identyfikator procesu wstrzymanej aplikacji (za pomocą Monitora aktywności lub ps -ax | grep), a następnie wyślij mu sygnał CONT za pomocą „kill” w terminalu (nie martw się, „kill” jest źle nazwany, po prostu wysyła sygnał do aplikacja - nazywa się to kill, ponieważ domyślnym sygnałem jest QUIT)

% ps -ax | grep Safari
  461 ??        61:22.30 /Applications/Safari.app/Contents/MacOS/Safari -psn_0_180268
% kill -CONT 461
% 
AvramD
źródło
6
dzięki za podpowiedź! ale doprowadziło mnie to do podobnego rozwiązania: po prostu użyj killall -CONT Safari- dodaj to do swojej odpowiedzi! ;)
cregox
2
Czy istnieje prosty sposób, aby dowiedzieć się, które procesy zostały wstrzymane?
asmeurer
2
Wszelkie porady na temat sytuacji, w której Terminal jest w stanie wstrzymanym?
Jawa,
@Jawa - otwórz iterm, jeśli go masz, lub X11, aby dostać się do terminalu w inny sposób. Alternatywnie, ssh in z innego komputera. Ale są to obejścia, chciałbym lepsze rozwiązanie
keflavich,
8

Aby cofnąć wstrzymanie wszystkich aplikacji, uruchom to polecenie w terminalu:

pkill -CONT -u $UID

lub (zgodnie z sugestią tutaj ):

kill -CONT -1

Aby cofnąć wstrzymanie określonej aplikacji (takiej jak Chrome), spróbuj:

kill -CONT $(pgrep Chrome)

Rozważ dodanie następującego aliasu do plików rc (takich jak ~/.bashrc):

alias unpause="pkill -CONT -u $UID"

Więc następnym razem, może po prostu uruchomić: unpause.

kenorb
źródło
3
lub po prostu użyj, kill -CONT -1jak wyjaśniono tutaj: superuser.com/questions/1076932/…
cregox