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?

Ortomala Lokni
fonte
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?

Gilles 'SO- parar de ser mau'
fonte