Я дурачился с некоторыми приложениями на моем Mac (изучая содержимое и пытаясь изменить некоторые файлы, значения и т.д.)

Конечно, иногда я получаю сбои, но я обычно просто убиваю процесс, и все хорошо.

На этот раз, однако, я мог видеть значок приложения в документе (без белой полосы под ним), но принудительный выход не помогал вообще.

Переход к Мониторингу приложений не помог, потому что приложение там не было указано (в любом случае это не имя). Итак, я перешел к значку яблока вверху слева, щелкнул "Принудительно выйти", и приложение действительно оказалось в списке ( его значок), но теперь имя было "JavaApplicationStub".

Выход оттуда тоже не помог.

Я запустил терминал и проверил весь процесс (ps -ax), но ни приложение, ни "JavaApplicationStub" не были перечислены (даже имена, близкие к нему).

Я попытался выйти из системы (и затем выключить Mac), но это было бесполезно, так как приложение препятствовало завершению работы системы (случайно это не позволило мне запустить любое другое приложение, потому что оно автоматически закрывалось (система пыталась закрыто в конце концов). К счастью, через пару минут OS X признала, что не может закрыться, и дала мне возможность снова использовать систему)

Поэтому я не смог определить, какой процесс убить.

В крайнем случае, я сделал killall -u myusername и это привело меня к серому экрану, откуда я ничего не мог сделать. Но нажатие Cmd + Alt + Esc (экран принудительного выхода) подтвердило, что работало только "JavaApplicationStub".

(это означает, что либо "JavaApplicationStub" не был моим процессом, либо система просто не смогла это закрыть.)

Это все равно помешало бы мне выключиться, очевидно.

Неуверенный в том, как я мог снова запустить обычные программы (Finder, Dock и т.д.) Мне пришлось удерживать кнопку питания в течение 10 секунд, пока, наконец, Mac выключился, и я мог включить его снова.

Вопрос 1

Теперь, каков был правильный способ справиться с этой ситуацией?

вопрос 2

Я сделал что-то очень простое, я просто удалил файл (невинно выглядящий) в папке app.contents. Неужели так легко предотвратить выход системы из приложения? Может ли это быть использовано потенциально?

1 ответ1

1

Из терминала

killall -9 process_name

Вы можете получить все сигналы (часть -9) от

man signal 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .