Рекламное объявление

В Activity Monitor есть загадочная опция меню Отправить сигнал в процесс. Задумывались ли вы, что это было? Если вы выберете его, вы увидите непонятные термины, такие как SIGINT и SIGHUP, который не совсем проясняет ситуацию. Так что же это за сигналы?

Эти сигналы являются результатом Unix фонд Mac OS X Yosemite, с точки зрения пользователя LinuxMac OS X используется в качестве постера для чистого и элегантного интерфейса. Как писатель Linux, я обязан сравнивать дистрибутивы Linux, но также и с конкурентами. Подробнее в основе macOS. В терминал встроены некоторые из этих сигналов: когда вы нажимаете Ctrl + C чтобы остановить запущенную команду, вы отправляете процесс SIGINT прервать и остановить текущую команду. Они были одним из первых способов взаимодействия приложений друг с другом и являются частью старых стандартов «Переносимый интерфейс операционной системы» (POSIX).

Хотя приятно понять основы работы вашей системы, вы также можете использовать эти сигналы для сбора информации о ненадлежащих приложениях.

instagram viewer

Что такое POSIX?

POSIX является базовым стандартом для Unix и Unix-Like операционных систем. Среди этих совместимых систем - macOS, созданная для совместимости с Unix. По своей сути это Дарвин, ядро ​​Unix с корнями, восходящими к NeXTSTEP. Это сам по себе был форк BSD, один из оригинальных вариантов Unix.

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

При взаимодействии с самыми простыми демонами, составляющими основу MacOS для Unix, эти сигналы являются лучшими. Демоны - это фоновые процессы, которые запускают основы вашего компьютера - или совместно Macos язык, услуги. Печально известный discoveryd это пример. Это была замена OS X Yosemite 10.10 для mDNSResponderдругой сервис обвиняют в проблемах с сетью в этом обновлении.

Командная строка
Кредит изображения: Доминик Русецки через Freeimages

В зависимости от того, как приложение предназначено для приема сигналов, вы можете отправить сигнал о выходе из приложения, чтобы создать то, что называется дампом ядра. Основные дампы содержат все текущие данные о работающей программе. Это важно для устранения неполадок приложений, которые постоянно сбой. На Mac это дамп в формате файлов Mach-O, который вы можете прочитать в среде разработки macOS под названием Xcode. Большинство пользователей, вероятно, не будут делать с ними много, но если вы разочарованы проблемой приложения, их может быть полезно отправить разработчику для поддержки.

Здесь есть еще немного классических вычислений, показывающих его корни. Формат файла Mach-O делится своим именем с микроядром Mach. Наряду с BSD, это часть корней macOS, и они являются частью основного ядра XNU. Mach не такой легендарный, как BSD, поэтому он не получает много прессы, но является частью того, что отличает операционную систему Apple от других вариантов Unix.

Так как я могу использовать их?

Мы все были там раньше: вы получаете обновить приложение или загрузить новое приложение Как установить и удалить программное обеспечение Mac: 5 простых методовПерешли на Mac и разбираетесь с основами? Хотите знать, как установить программное обеспечение из командной строки? У вас есть старые приложения Windows, которые вы просто должны запустить на своем компьютере Apple? Подробнее и он зависает каждый раз, когда вы открываете его. Вы открываете Принудительный выходиз меню Apple, и увидеть приложение отображается как Не отвечает. Хуже того, это какой-то фоновый процесс, тянущий вашу систему вниз.

Монитор активности

открыто Монитор активности и нажмите на процесс, который не отвечает. Затем перейдите к Посмотреть меню и выберите Отправить сигнал на обработку. Появится меню, в котором вы сможете выбрать, какой сигнал отправить процессу, выбрать ваш сигнал и нажать послать.

Если вы предпочитаете терминал 4 интересных вещи, которые вы можете сделать с терминалом MacТерминал является аналогом Mac OS X для командной строки Windows или CMD. Это инструмент, как вы, наверное, уже знаете, который позволяет вам контролировать компьютер с помощью текстовых команд, в отличие от ... Подробнее , вы будете использовать команду, с которой вы уже знакомы. убийство Команда используется для остановки процесса. Если вы добавите -s Вы можете добавить номер, чтобы отправить сигнал процессу, который вы убиваете. Вот список количества общих команд в списке убийство справочная страница:

  • 1 - HUP (повесить трубку)
  • 2 - INT (прерывание)
  • 3 - ВЫЙТИ (выйти)
  • 6 - ABRT (отменить)
  • 9 - KILL (неуловимое, неуязвимое убийство)
  • 15 - TERM (сигнал завершения программы)

Есть и другие сигналы, которые вы можете отправлять, это только самые распространенные. Существует полный список коды доступны здесь.

Когда я использую их?

Теперь, когда вы знаете, что делать с сигналами POSIX, вы можете использовать их для чистой остановки зависших процессов. Честно говоря, вы не собираетесь использовать эти коды каждый день. При работе с разработчиком в случае странного сбоя приложения или при помощи бета-тестирования системного администратора в собственных приложениях вашей компании эти коды могут помочь получить необходимую им информацию.

Если приложение создано для создания этих дампов, вы найдете их в каталоге /cores сделать этот каталог легко доступным при получении данных для зависшего или зависшего приложения. Вы можете проверить здесь и посмотреть, какие дампы находятся в каталоге, используя ls -a команда. Это покажет вам все файлы в этом каталоге, затем вы можете скопировать их в более доступный каталог с помощью команды mv имя файла назначения.

В Терминал использовать командный CD / Core переключиться на каталог, затем ls -a перечислить содержимое. Чтобы переместить файл в папку «Документы», просто используйте mv filename / Users / имя пользователя / Documents (замена имя файла и имя пользователя).

mackeyboard
Кредит изображения: Эрика Варга через Freeimages

Если вы давний пользователь Unix, который перешел на Mac, какие еще малоизвестные функции существуют? Если вы заинтересованы в проверке проекта, который использует только Основание MacOS с открытым исходным кодом смотрите на PureDarwin. Дайте нам знать, как это получилось в комментариях. Мы также хотели бы услышать, когда сигналы POSIX решают проблему с вашим Mac.

Вы использовали сигналы POSIX для устранения неполадок раньше?

Авторы изображения: Дин Дробот / Shutterstock

Майкл не использовал Mac, когда они были обречены, но он может кодировать в Applescript. У него есть степени в области компьютерных наук и английского языка; он некоторое время писал о Mac, iOS и видеоиграх; и он был более десяти лет дневной ИТ-обезьяной, специализирующейся на сценариях и виртуализации.