O que significa ter um sinal de menos como o primeiro caractere de um comando na saída htop?


24

No htop, ou em outros comandos que mostram o status do processo, todos os processos do bash têm na coluna de comando

/bin/bash

mas um processo possui na coluna de comando

-bash

O que isso significa?


5
Isso não é específico htop, é específico bash. Isso significa que é um shell de login.
Jordanm

3
@ Jordanm Não é específico para bashqualquer um, outros reservatórios fazem o mesmo.
Lcd047

Respostas:


30

Um sinal de menos antes do nome do comando é uma convenção que os programas de login usam para iniciar shells de login. Um programa de login é um programa onde você costuma digitar sua senha e que inicia uma sessão para você, como login, sudo -i, su -, sshd, etc. Um shell de login é o shell inicial de uma sessão modo texto.

Convencionalmente, quando um programa chama outro programa, ele passa o nome do programa como argumento 0; os argumentos da linha de comando são numerados a partir de 1. Por exemplo, quando você executa cp foo bar, ele executa o arquivo executável localizado em /bin/cp(em sistemas típicos) e passa cpcomo argumento 0, foocomo argumento 1 e barcomo argumento 2. A convenção normal é usar o nome base do executável como argumento 0. Quando um programa de login chama um shell, ele viola esta convenção e coloca um hífen extra antes do nome do programa. Shells entender esta alternativa de convenções e definir as coisas de forma adequada para um shell de login, geralmente lendo um arquivo de inicialização, como ~/.profile, ~/.login, ~/.bash_profile, etc., dependendo do shell.

Veja também Diferença entre o Shell de Login e o Shell Não-Login?

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.