web-dev-qa-db-ja.com

service --status-all出力について

マニュアルページで説明されていないため、Ubuntu 13.10でのservice --status-allコマンドの出力を理解しようとしています。例えば:

[ + ]  rsyslog
[ - ]  sendmail
[ ? ]  sendsigs
[ + ]  setvtrgb
[ - ]  ssh

+-?はどういう意味ですか?わかりません。以前にsendmailをインストールしたことがありましたが、apt-get remove sendmail*で停止して削除しました。 /etc/init.d/のinitスクリプトが削除されなかったと思います。そのため、出力に表示されますが、少なくとも-なので、実行されていないと思います。次に、SSH。私は実際にサーバーにSSHで接続しているので、SSHサービスが実行されているはずですが、とにかく-です。そして、不可解な?があります。誰かがこれが実際に何を意味するかについていくつかの光を当ててください。

14
p4sh4

service --status-allコマンドは、statusコマンドをサポートする場合(statusのスクリプトをgreppingすることにより)、/etc/init.dのすべての初期化スクリプトを把握しようとします。

その文字列が見つからない場合は、そのサービスの[ ? ]を出力します。

それ以外の場合は、/etc/init.d/$application statusを実行します。
戻りコードが0の場合、[ + ]を出力します。
0でない場合は、[ - ]を出力します。

まだ実行されているのに、なぜssh[ - ]を出力するのですか?
sshは、Ubuntu(13.10)のupstartによって制御されます。
/etc/init.d/ssh statusを実行すると、出力は生成されず、戻りコードは1になります。

15
faker