web-dev-qa-db-ja.com

systemdサービスを削除する方法

新しいサービスをインストールし、そのアプリケーションをもう必要としないで削除しても、サービスはsystemctlからの出力にerrorのように表示されたままです。 。

これはどこから来ていて、どうやって徹底的に削除できますか?

151
emel

私のサービス抹消のレシピ(rmステートメントに注意してください!)

systemctl stop [servicename]
systemctl disable [servicename]
rm /etc/systemd/system/[servicename]
rm /etc/systemd/system/[servicename] symlinks that might be related
systemctl daemon-reload
systemctl reset-failed

Systemdサービスが/etc/init.d内の古いスタイルのスクリプトを「ラップ」している可能性があるので、それもクリーンアップすることをお勧めしますが、それはnotです。体系化されたサービスが存在する場所。

250
Mark Lakata

あなたはおそらくreset-failedを探しています:

$ Sudo systemctl reset-failed
$

Systemdのmanページから:

reset-failed [PATTERN...]

指定された装置の「失敗」状態をリセットするか、装置名が渡されていない場合は、すべての装置の状態をリセットしてください。ユニットが何らかの理由で失敗した場合(すなわち、プロセスがゼロ以外のエラーコードで終了した、異常終了した、またはタイムアウトした)、自動的に「失敗」状態に入り、サービスが終了するまで管理者によって終了コードとステータスが記録されます。このコマンドで再起動またはリセットされます。

24
Vebjorn Ljosa

アンインストールしたようですが、systemdフックは削除されていません。

# systemctl disable [servicename]

23
nerdwaller

@ mark-lakata の回答に追加し、rmコマンドに必要な注意力を覚えておいてください。 [chkconfig]はプロセスを単純化することができます!( chkconfigについて読むにはここをクリックしてください

コマンドのリストを再実行するには

  1. systemctl stop [servicename]
  2. chkconfig [servicename] off
  3. systemctl daemon-reload
  4. systemctl reset-failed

注:最初のコマンドは、現在のセッションでサービスを実行し続けるかどうかによって異なります(この質問ではコマンドを使用する必要があります)。

2番目のコマンドは、サービスの無効化と削除(シンボリックリンクに従って)の両方を行います。

4
garlicFrancium

systemdからサービスを削除する:

Systemdはユニット(サービスを定義するためのファイル)を使用して、ユニットを削除する必要があるサービスを削除します。以下は、ユニットの場所のリストです。

/etc/systemd/system/ (and sub directories)
/usr/local/etc/systemd/system/ (and sub directories)
~/.config/systemd/user/ (and sub directories)
/usr/lib/systemd/ (and sub directories)
/usr/local/lib/systemd/ (and sub directories)
/etc/init.d/ (Converted old service system)

systemdを更新:

systemctl daemon-reload
systemctl reset-failed

ゴーストサービス(見つかりません):

多くの理由でユニットが削除されても、Systemdはゴースト(見つからない)サービスを一覧表示できます。

  1. systemdディレクトリの1つにまだ存在するユニット
  2. 装置は終了しませんが、ファイルリンクがsystemdディレクトリーの1つにまだ存在します
  3. サービスは他のユニットで使用されています*

(*)サービスが他のユニットで言及されているが存在しない場合systemdはまだユニットファイルがなくても見つからない状態でそのサービスをリストします...あなたはテキスト検索でそのサービスを使用しているユニットを検索できます。そしてそれらのユニットを編集します(後でそのサービスをインストールする予定がある場合はお勧めできません)

1
intika