Секреты Терминала: когда зависает Mac

1

Этого нечего стыдиться – компьютер зависает у каждого. Долгие годы мы маководы смеемся над Windows из-за ее лагов. Apple даже сняла ролик на эту тему. Как пользователь Mac и PC могу сказать, что с Mac это случается гораздо реже… но все же случается.

Когда зависает приложение, то справится с этим довольно просто: Control + клик (или правый клик) на иконке в доке. Если вы увидите надпись “Приложение не отвечает”, то выберите опцию “Завершить принудительно”. Чаще всего это помогает.

Принудительное завершение приложения: Если у вас Mac OS X 10.5 (Leopard) или выше, Apple рекомендует удерживать в течение трех секунд клавиши Option + Shift + Command + Esc.

Терминал наше все

Если “Принудительное завершение” не работает, а вы без опаски запускаете Терминал (приложение в папке Служебных программ), то вы можете узнать PID (идентификатор процесса) и использовать команду “kill” для принудительного закрытия программы. Используйте “kill” крайне осторожно. Если вы решили воспользоваться этой командой, то надеяться на сохранение вашей работы не приходится. Другими словами, если приложение зависло на какое-то время, то с большой вероятностью вся информация пропадет.

Чтобы узнать PID приложения, выполните следующую строчку Терминала. Для примера я выбрал Safari, но вы можете сделать то же самое с любой программой. Просто замените “Safari.app” на любое другое приложение.

ps ux | fgrep -i SAFARI.APP | fgrep -v fgrep

После этого вы увидите (“denis” – это моя учетная запись, в вашем случае наверняка будет что-то другое):

denis 90226   0,4  5,0  5485800 210944   ??  S     1:57     2:12.66 /Applications/Safari.app/Contents/MacOS/Safari -psn_0_6682207

Здесь смотрите только на две вещи: путь “/Applications/Safari.app/Contents/MacOS/Safari”, который говорит о правильном приложении и число, следующее за логином. В моем случае “90226?. Это и есть “идентификатор процесса” или “PID” для Safari. Все процессы в Mac OS X имеют свой PID и для каждого приложения он будет свой.

Далее решите, какой из следующих приемов вы будете использовать. Обычно мне помогает третий вариант:

Первая команда “kill -QUIT [pid]” закрывает приложение. К сожалению, она вряд ли поможет если программа “не отвечает”. Но попробовать в любом случае можно. Для Safari введите в Терминале:

kill -QUIT 90226

Примечание: вы можете воспользоваться другой командой “kill -3 90226?, но думаю, что “-QUIT” будет проще запомнить.

После этого выполните “kill -TERM”

kill -TERM 90226

Примечание: вместо этого вы можете использовать команду “kill -15 90226?, но думаю, что “-TERM” будет проще запомнить.

Если ничего не помогло, у вас остается на выбор либо перезагрузить систему (универсальный вариант), либо воспользоваться командой “kill -9?. Попробую объяснить: “kill -9? – это самый крайний вариант. Эта команда убивает приложение намертво. Помните я говорил, что вы можете использовать название команды или число (“kill -15? или “kill -TERM”)? Название для “kill -9? – “kill -KILL”. Поэтому чтобы не запутать вас, я оставил число. Считайте “kill -9? последней линией обороны против лагов.

kill -9 90226

или (kill -KILL 90226) выгружает приложение в один момент.

Если завис компьютер

Перечисленное выше помогает в том случае, когда у вас зависло одно приложение. Но что если весь компьютер перестал слушаться ваших команд? Мой старый PowerBook часто зависает: двигается только курсор мышки. В этом случае выбор не велик, но он все же есть.

Если у вас под рукой нет второго компьютера, вам остается нажать и удерживать кнопку питания до тех пор, пока компьютер не выключится. Если рядом у вас есть компьютер (под компьютером я понимаю даже iPhone, iPod touch или iPad), то вы спасены. Конечно, для этого вы должны предварительно включить у своего Мака удаленное управление.

Вариант 1: Общий экран или VNC.

Этот вариант первый, потому что он проще. Но, если честно, он не самый эффективный. Когда компьютер завис, то доступ к экрану откроет вам ту же картину, но с другого компьютера. Но, опять же, может пригодиться.

Вариант 2: Удаленное подключение (SSH)

Этот вариант работает почти всегда (по моему опыту). Так же, как с общим экраном, вы должны открыть Системные настройки –> Общий доступ. Поставьте галочку “Удаленный вход”. Apple назвала так SSH, наверное потому, что фраза “Удаленный вход” понятна для многих, а SSH только для избранных. В любом случае откройте в Терминале Shell –> Новое удаленное подключение –> “Безопасный shell (ssh)” и выберите компьютер, к которому хотите подключиться. После подключения у вас будет два варианта:

  • Завершение сеанса работы из командной строки:
    sudo killall -HUP WindowServer

    Введите пароль администратор. Этой командой вы удаленно завершите сеанс работы на Mac. После этого вы можете либо перезагрузить компьютер, либо войти в систему. Примечание: вся несохраненная работа у вас будет потеряна.

  • Перезагрузка из командной строки:
    sudo shutdown -r now

    Введите пароль администратора. Вы также потеряете все несохраненные данные. Компьютер закроет все процессы и перезагрузит систему.

Никто не хочет оказаться в такой ситуации, но если такое все же случилось и у вас завис компьютер или приложение – теперь вы знаете что делать!

Если вам понравилась статья, можете разместить её на своей страничке в нижеуказанных соц. сетях.

Похожие статьи

Оставить комментарий