Tentando entender o comando “w” no macOS

Tentando entender o comando “w” no macOS

Atualmente, estou aprendendo alguns comandos do UNIX e encontrei várias questões inexplicáveis. Obrigado pela sua resposta.

  1. Ao executar o comando wno terminal, recebo algumas mensagens mostradas na imagem abaixo. Eu sei s000significa o terminal no qual digitei o comando w. Mas estou confuso sobre o tty cujo nome é consolee pelo qual, segundo ele, entrei no sistema. E dizia que consoleestava ocioso há algum tempo. Posso mudar para consolepara ativar este tty para que ele não fique mais ocioso?

  2. Também fiz outro experimento tentando iniciar o usuário convidado que estava efetuando login. Eu sabia que poderia encerrar o processo bash que o convidado estava executando, mas de alguma forma estou tendo problemas para interromper o processo que consoleo convidado estava executando. Como posso iniciar completamente o convidado sem reiniciar o computador? Eu não posso matar o console. A raiz deste problema é praticamente a mesma do primeiro: o que significa “console”? Absolutamente não representa o terminal no qual digitei o comando w.

  3. Este problema também pode ser encontrado em sistemas Linux como Ubuntu 14.04, com este último nomeando o consolenúmero como 0ou 1. Eu me pergunto o que significa 0 ou 1 na coluna tty. Mas posso ter certeza de que eles têm significado semelhante com console.

aqui está a imagem

Responder1

Não estou familiarizado com o macOS, mas espero que os conceitos sejam bastante semelhantes aos do Linux. Isso é uma simplificação exagerada, mas basicamente, neste contexto, o “console” se refere ao computador inteiro. Ou, para ser um pouco mais específico, o display e os dispositivos de entrada humana (teclado, dispositivo(s) apontador(es), etc.) (Logins de rede são excluídos do “console”.)

Ao fazer login no seu computador (localmente, não através da rede), você está fazendo login no console.

Agora você obviamente está familiarizado com terminais – janelas nas quais você pode executar comandos, como lse w. Quando você faz login no console, ele executa automaticamente um comando (ou um grupo de comandos) que fornece a interface de janela com a qual você está acostumado. Alguns sistemas operacionais tornam o mecanismo pelo qual isso acontece visível e, às vezes, até ajustável; outros fazem isso inteiramente “nos bastidores”.

Como o console não executa nenhum comando, exceto o próprio sistema de janelas, ele parece estar ocioso. Na maioria dos sistemas operacionais (e espero que o macOS seja um deles), a única coisa que era mudar para o console era sair do sistema de janelas – mas isso retorna você ao console, que então o desconecta automaticamente.

Há outra ruga:

  • O wcomando lê um arquivo de sistema, formata os dados de maneira adequada para que uma pessoa os veja e os grava na saída padrão.
  • Uma entrada é gravada no arquivo sempre que alguém faz login no console ou na rede. Alguns sistemas (a maioria? todos?) também escrevem uma entrada quando o usuário no console inicia uma nova janela de terminal.
  • As entradas normalmente são apagadas quando um usuário efetua logout ou fecha uma janela de terminal.
  • A palavra-chave no item acima é “normalmente”. Em alguns casos, se você encerrar um processo (especialmente se fizer isso como superusuário), poderá interferir no mecanismo que apaga os dados antigos. Assim, wpode relatar informações que não são mais válidas.

Se você não sabe como usar ps, você deveria aprender. Você pode usar issoem vez dede w, mas provavelmente é melhor usá-los juntos. Use wpara fornecer um roteiro do que procurar na pssaída. Não acredite cegamente em tudo wque lhe diz; acredite apenas nas informações que você pode verificar ps. Por exemplo, se você eliminou todos os processos “convidados” e wainda diz que “convidado” está logado, provavelmente isso está fornecendo informações obsoletas e inválidas.


Você pode encontrarQual é a diferença entre shell, console e terminal? e Qual é a diferença exata entre um 'terminal', um 'shell', um 'tty' e um 'console'? para valer a pena ler.

informação relacionada