Co to znaczy mieć znak minus jako pierwszy znak polecenia w wyjściu htop?

24

W htopie lub innych poleceniach pokazujących status procesu wszystkie procesy bash mają w kolumnie poleceń

/bin/bash

ale jeden proces ma w kolumnie poleceń

-bash

Co to znaczy?

Ortomala Lokni
źródło
5
To nie jest specyficzne dla htop, to jest specyficzne dla bash. Oznacza to, że jest to powłoka logowania.
jordanm
3
@jordanm Nie dotyczy bashżadnego z nich, inne powłoki robią to samo.
lcd047

Odpowiedzi:

30

Znak minus przed nazwą polecenia jest konwencją używaną przez programy logowania do uruchamiania powłok logowania. Program logowania to program, w którym zazwyczaj wpisać hasło i rozpoczyna sesję dla Ciebie, takie jak login, sudo -i, su -, sshd, itp logowanie powłoka jest wstępna powłoka sesji w trybie tekstowym.

Konwencjonalnie, gdy program wywołuje inny program, przekazuje nazwę programu jako argument 0; argumenty wiersza poleceń są numerowane od 1. Na przykład, po uruchomieniu cp foo barwykonuje plik wykonywalny znajdujący się w /bin/cp(w typowych systemach) i przekazuje cpjako argument 0, foojako argument 1 i barjako argument 2. Normalną konwencją jest użycie podstawowa nazwa pliku wykonywalnego jako argument 0. Gdy program logowania wywołuje powłokę, narusza tę konwencję i umieszcza dodatkowy myślnik przed nazwą programu. Muszle zrozumieć tej alternatywnej konwencji i wszystko skonfigurować odpowiednio do powłoki logowania, zwykle czyta plik inicjalizacji, takich jak ~/.profile, ~/.login, ~/.bash_profile, itd. W zależności od powłoki.

Zobacz także Różnica między powłoką logowania a powłoką niezalogowaną?

Gilles „SO- przestań być zły”
źródło