ps出力のbash、-bash、および/bin/bashの違い

ps出力のbash、-bash、および/bin/bashの違い

誰かがサーバーのbashからwhile trueループを作成しました(rootとしてログイン)。プロセスは引き続き作成され、幸いにも終了しますが、親プロセスを終了する必要があります。スクリプトではなくコマンドラインから直接作成されたことがわかったので、「-bash」を見つけて、ルートが所有するプロセスを終了しました。良い結果。

これにより、ps auxbashのさまざまなバリエーションがコマンドラインに表示されます。

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

など..

違いは何ですか?

ベストアンサー1

先行ダッシュは次のログインシェルを表しますman bash

ログインシェルの引数の最初の文字は0または-オプションで始まります--login

bashがこのオプションを使用して対話型ログインシェルまたは非対話型シェルとして呼び出されると、まず--loginファイル/etc/profile(ファイルが存在する場合)からコマンドを読み取り、実行します。ファイルを読み込んだ後~/.bash_profile~/.bash_login、 を順に探して存在~/.profileし、読み取れる最初のファイルからコマンドを読み込み実行します。--noprofileこのオプションを使用すると、シェルの起動時にこの動作を無効にできます。

ログインシェルが終了すると、bash はファイルが~/.bash_logout存在する場合はそのコマンドを読み込み実行します。

bash/bin/bash同じですが、異なる方法で呼び出されます(電子はフルパスを使用して呼び出されません)。

おすすめ記事