".service: 開始要求が速すぎる繰り返される" 修正方法。カスタマイズされたサービスについて?

".service: 開始要求が速すぎる繰り返される" 修正方法。カスタマイズされたサービスについて?

私はsystemdを使ってサービスを作成する方法を学んでいます。次のエラーが発生します。

.service: Start request repeated too quickly.

これ以上サービスを開始できません。昨日も引き続き働いていました。私は何が間違っていましたか?

(root@Kundrum)-(11:03:19)-(~)
$nano /lib/systemd/system/swatchWATCH.service
 1 [Unit]
 2 Description=Monitor Logfiles and send Mail reports
 3 After=syslog.target network.target
 4
 5 [Service]
 6 Type=simple
 7 ExecStart=/usr/bin/swatch --config-file=/home/kristjan/.swatchrc --input-record-separator="\n \n " --tail-file=/var/log/snort/alert --daemon
 8 Restart=on-failure
 9 StartLimitInterval=3
10 StartLimitBurst=100
11
12 [Install]
13 WantedBy=multi-user.target

StartLimitIntervalStartLimitBurst修正しようとした後に追加しました。

私のシステムはDebian 9.8 Stretch allアップデートです。

答え1

まず、カスタムサービスであれば、パッケージが提供するファイル/etc/systemd/systemに属します。/lib/systemd

第二に、サービスがクラッシュする可能性があり、systemdはサービスを繰り返し再起動しようとするため、クラッシュした理由を特定する必要があります。サービスログを確認してください。

journalctl -e -u swatchWATCH

主な問題にはいくつかの追加の詳細があるかもしれません。

journalctl -e

最後に、CLIで直接実行できることを確認してください。

/usr/bin/swatch --config-file=/home/kristjan/.swatchrc --input-record-separator="\n \n " --tail-file=/var/log/snort/alert --daemon

オプションを使用しています--daemon。これは通常システムのバグです。 Systemd はユーザーのデーモン化を実行します。このオプションを削除してみてください。

すべての方法が失敗した場合は、昨日の仕事を始めてから何が変わったのかを見てください。

答え2

"systemd[1]: SERVICE: 起動要求が早すぎる繰り返される" の簡単な解決策は次のとおりです。

systemctl reset-failed SERVICE
systemctl start SERVICE
systemctl status SERVICE

関連する引用は以下で提供されます。手動システム制御:

リセット失敗[モード...]

...速度制限カウンタを0にリセットし始めます。したがって、デバイスの起動制限(設定どおり StartLimitIntervalSec=/StartLimitBurst=)に達し、デバイスが再起動を拒否した場合は、このコマンドを使用して再起動できるようにします。 」

答え3

私の場合、エラーメッセージが少し誤解を招く可能性があります。失敗の理由は、マシン間の複製によるものです。ライン

User=my_user 

私のサービス構成ファイルは/etc/systemd/system/infinite_script.service犯人でした。

新しいシステムはこのユーザーを認識しません。変更するとUser=root問題が解決しました。

関連情報