Propaganda

No Activity Monitor, há uma opção de menu enigmático para Enviar sinal para o processo. Você já se perguntou o que era? Se você selecioná-lo, verá termos obscuros como SIGINT e SIGHUP, o que não esclarece exatamente as coisas. Então, o que exatamente são esses sinais?

Esses sinais são resultado do Fundação Unix Mac OS X Yosemite, da perspectiva de um usuário LinuxO Mac OS X é usado como filho do pôster para uma interface limpa e elegante. Como escritor de Linux, é meu dever fazer comparações entre distribuições de Linux, mas também contra a concorrência. consulte Mais informação no coração do macOS. O terminal possui alguns desses sinais embutidos: quando você pressiona Ctrl + C para parar um comando em execução, você está enviando o processo SIGINT para interromper e parar o comando em execução no momento. Eles foram uma das primeiras maneiras pelas quais os aplicativos podem se comunicar e fazem parte dos antigos padrões da "Interface do sistema operacional portátil" (POSIX).

instagram viewer

Embora seja bom entender o básico de como o sistema funciona, você também pode usar esses sinais para capturar informações sobre aplicativos que se comportam mal.

O que é o POSIX?

O POSIX é o padrão básico para os sistemas operacionais Unix e Unix-Like. Entre esses sistemas compatíveis está o macOS, que foi desenvolvido para ser compatível com Unix. O seu núcleo é Darwin, um núcleo Unix com raízes que remontam ao NeXTSTEP. Isso em si era um garfo do BSD, uma das variantes originais do Unix.

O POSIX garante que todos esses sistemas operacionais manipulem o código da maneira esperada, permitindo que os desenvolvedores saibam que seu código é realmente portátil. Quando eles enviam um desses sinais em outra máquina para um processo, os dados recuperados estão em um formato que eles podem antecipar e processar. Essa é uma simplificação grosseira de cerca de 40 anos de história da computação, mas você entende a ideia geral.

Ao se comunicar com os daemons mais básicos que compõem a base Unix do macOS, esses sinais são os melhores. Daemons são os processos em segundo plano que executam o essencial do seu computador - ou em comum Mac OS linguagem, serviços. Os infames discoveryd é um exemplo Este foi o substituto do OS X Yosemite 10.10 para mDNSResponderoutro serviço culpado pelos problemas de rede nessa atualização.

Linha de comando
Crédito de imagem: Dominik Rusiecki via Freeimages

Dependendo da maneira como um aplicativo é projetado para receber sinais, você pode enviar um sinal para sair de um aplicativo e criar o que é chamado de dump principal. Os dumps principais contêm todos os dados atuais sobre um programa em execução. Estes são essenciais para solucionar problemas de aplicativos que travam constantemente. No Mac, eles são despejados no formato de arquivo Mach-O, que você pode ler no ambiente de desenvolvimento do macOS chamado Xcode. A maioria dos usuários provavelmente não fará muito com isso, mas se você estiver frustrado com um problema no aplicativo, pode ser útil enviar a um desenvolvedor para obter suporte.

Há mais um pouco da computação clássica mostrando suas raízes aqui. O formato do arquivo Mach-O compartilha seu nome com o microkernel Mach. Juntamente com o BSD, isso faz parte das raízes do macOS, e os dois fazem parte do kernel básico, XNU. O Mach não é tão famoso quanto o BSD, por isso não recebe muita atenção da imprensa, mas faz parte do que diferencia o sistema operacional da Apple de outras variantes do Unix.

Então, como posso usá-los?

Todos nós já estivemos lá antes: você recebe uma atualizar para um aplicativo ou baixar um novo aplicativo Como instalar e remover o software Mac: 5 métodos fáceisMudou para um Mac e se familiarizou com o básico? Quer saber como instalar o software a partir da linha de comando? Você tem aplicativos antigos do Windows que precisam ser executados no seu computador Apple? consulte Mais informação e trava toda vez que você o abre. Você abre Forçar Encerramentono menu Apple e veja o aplicativo aparecer como Não está respondendo. Pior ainda, é um processo em segundo plano que arrasta o sistema para baixo.

Monitor de Atividade

Aberto Monitor de Atividade e clique no processo que não está respondendo. Então vá para o Visão menu e selecione Enviar sinal para processar. Um menu será exibido e permitirá que você escolha qual sinal enviar para o processo, selecione seu sinal e pressione Mandar.

Se você preferir o Terminal 4 coisas legais que você pode fazer com o terminal MacO Terminal é o análogo do Mac OS X do prompt de comando do Windows, ou CMD. É uma ferramenta, como você provavelmente já sabe, que permite controlar seu computador usando comandos de texto, ao contrário ... consulte Mais informação , você usará um comando com o qual você já está familiarizado. o matar O comando é usado para parar um processo. Se você adicionar -s você pode adicionar um número para enviar um sinal ao processo que está sendo finalizado. Aqui está uma lista do número de lista de comandos comuns no diretório matar página de manual:

  • 1 - HUP (desligue)
  • 2 - INT (interrupção)
  • 3 - SAIR (sair)
  • 6 - ABRT (abortar)
  • 9 - MATAR (matança não capturável e não ignorável)
  • 15 - TERM (sinal de terminação do software)

Existem outros sinais que você pode enviar também, estes são apenas os mais comuns. Existe uma lista abrangente de códigos disponíveis aqui.

Quando eu os uso?

Agora que você sabe o que fazer com os sinais POSIX, pode usá-los para interromper seus processos travados de maneira limpa. Para ser justo, você não vai usar esses códigos todos os dias. Ao trabalhar com um desenvolvedor em uma falha de aplicativo estranha ou ao ajudar o administrador de sistemas beta a testar os aplicativos internos da sua empresa, esses códigos podem ajudar a obter as informações necessárias.

Se o aplicativo estiver codificado para criar esses dumps, você os encontrará no diretório /cores tornando este um diretório fácil de procurar ao obter dados para um aplicativo travado ou travado. Você pode verificar aqui e ver quais despejos estão no diretório usando o ls -a comando. Isso mostrará todos os arquivos desse diretório e você poderá copiá-los para um diretório mais acessível. destino do nome de arquivo mv.

No terminal use o comando cd / cores para mudar para o diretório, ls -a para listar o conteúdo. Para mover um arquivo para a pasta Documentos, basta usar mv filename / Usuários / nome de usuário / Documents (substituindo nome do arquivo e nome do usuário).

mackeyboard
Crédito de imagem: Erika Varga via Freeimages

Se você é um usuário antigo do Unix que se mudou para o Mac, quais outros recursos pouco conhecidos existem por aí? Se você estiver interessado em conferir um projeto que usa apenas o fundação de código aberto do macOS, confira o PureDarwin. Deixe-nos saber como isso funcionou nos comentários. Também gostaríamos de ouvir quando os sinais POSIX resolveram um problema persistente no seu Mac.

Você já usou sinais POSIX para solucionar problemas antes?

Créditos da imagem: Dean Drobot / Shutterstock

Michael não usou um Mac quando eles estavam condenados, mas ele pode codificar em Applescript. Ele é formado em Ciência da Computação e Inglês; ele escreve sobre Mac, iOS e videogames há algum tempo; e ele é um macaco de TI diurno há mais de uma década, especializado em scripts e virtualização.