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

24

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

/bin/bash

mas um processo tem na coluna de comando

-bash

O que isso significa?

    
por Ortomala Lokni 01.07.2015 / 00:15

1 resposta

31

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

Convencionalmente, quando um programa invoca outro programa, ele passa o nome do programa como argumento 0; argumentos de linha de comando são numerados a partir de 1. Por exemplo, quando você executa cp foo bar , isso executa o arquivo executável localizado em /bin/cp (em sistemas típicos) e passa cp como argumento 0, foo como argumento 1 e bar como argumento 2. A convenção normal é usar o nome base do executável como argumento 0. Quando um programa de login invoca um shell, ele viola essa convenção e coloca um hífen extra antes do nome do programa. Os shells entendem essa convenção alternativa e configuram as coisas apropriadamente 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 de Não Login

    
por 01.07.2015 / 01:10

Tags