diferença entre bash, -bash e / bin / bash em ps output [duplicado]

3

Alguém gerou um loop verdadeiro while no bash (logado como root) em um servidor. Ele manteve processos de desova, que felizmente saíram, mas eu precisava matar o pai. Eu vim a saber que foi gerada diretamente a partir da linha de comando e não de um script, então procurei por '-bash' e eliminei esses processos pertencentes ao root. Funcionou bem.

Quando você faz ps aux , na coluna de comando diferentes variantes do bash aparecem.

/bin/bash
-bash
-bash
-bash
/bin/bash
bash
/bin/bash
/bin/bash
bash

etc.

Quais são as diferenças?

    
por Swair 05.07.2013 / 10:18

1 resposta

5

O traço principal indica um shell de login, de man bash :

A login shell is one whose first character of argument zero is a -, or one started with the --login option.

When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior.

When a login shell exits, bash reads and executes commands from the file ~/.bash_logout, if it exists.

bash e /bin/bash são os mesmos, eles foram chamados de maneira diferente (o primeiro não foi chamado usando o caminho completo).

    
por 05.07.2013 / 10:31

Tags