¿Qué significa tener un signo menos como el primer carácter de un comando en la salida de htop?

24

En htop u otros comandos que muestran el estado del proceso, todos los procesos bash se encuentran en la columna de comandos

/bin/bash

pero un proceso tiene en la columna de comando

-bash

Qué significa eso?

Ortomala Lokni
fuente
55
Eso no es específico para htop, eso es específico para bash. Significa que es un shell de inicio de sesión.
jordanm
3
@jordanm No es específico de bashninguno de los dos, los shells hacen lo mismo.
lcd047

Respuestas:

30

Un signo menos antes del nombre del comando es una convención que los programas de inicio de sesión utilizan para iniciar shells de inicio de sesión. Un programa de inicio de sesión es un programa en el que normalmente escribe su contraseña y que inicia una sesión para usted, como login, sudo -i, su -, sshd, etc. Una entrada cáscara es la capa inicial de una sesión en modo texto.

Convencionalmente, cuando un programa invoca a otro programa, pasa el nombre del programa como argumento 0; los argumentos de la línea de comandos están numerados a partir de 1. Por ejemplo, cuando ejecuta cp foo bar, esto ejecuta el archivo ejecutable ubicado en /bin/cp(en sistemas típicos) y pasa cpcomo argumento 0, foocomo argumento 1 y barcomo argumento 2. La convención normal es usar el archivo nombre base del ejecutable como argumento 0. Cuando un programa de inicio de sesión invoca un shell, viola esta convención y pone un guión adicional antes del nombre del programa. Shells entender esta cosas convenciones y conjunto alternativo de forma apropiada para un shell de entrada, normalmente la lectura de un archivo de inicialización, tal como ~/.profile, ~/.login, ~/.bash_profile, etc., dependiendo de la cáscara.

Consulte también ¿ Diferencia entre Shell de inicio de sesión y Shell sin inicio de sesión?

Gilles 'SO- deja de ser malvado'
fuente