Cosa significa avere un segno meno come primo carattere di un comando nell'output htop?


24

In htop o altri comandi che mostrano lo stato del processo, tutti i processi bash hanno nella colonna comandi

/bin/bash

ma un processo ha nella colonna dei comandi

-bash

Cosa significa?


5
Non è specifico per htop, è specifico per bash. Significa che è una shell di login.
Giordania,

3
@jordanm Non specifico per bashentrambi, altre shell fanno lo stesso.
lcd047

Risposte:


30

Un segno meno prima del nome del comando è una convenzione utilizzata dai programmi di accesso per avviare le shell di accesso. Un programma di accesso è un programma in cui in genere si digita la password e che avvia una sessione per voi, come ad esempio login, sudo -i, su -, sshd, ecc Una shell di login è la shell iniziale di una sessione in modalità testo.

Convenzionalmente, quando un programma invoca un altro programma, passa il nome del programma come argomento 0; gli argomenti della riga di comando sono numerati a partire da 1. Ad esempio, quando si esegue cp foo bar, questo esegue il file eseguibile che si trova in /bin/cp(su sistemi tipici) e passa cpcome argomento 0, foocome argomento 1 e barcome argomento 2. La convenzione normale è utilizzare nome base dell'eseguibile come argomento 0. Quando un programma di login invoca una shell, viola questa convenzione e inserisce un trattino extra prima del nome del programma. Conchiglie capire questo alternate congressi e impostare le cose in modo appropriato per una shell di login, tipicamente leggere un file di inizializzazione come ~/.profile, ~/.login, ~/.bash_profile, ecc a seconda del guscio.

Vedi anche Differenza tra Shell di accesso e Shell non di accesso?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.