ワンタイムサービスが失敗した場合は、すぐに起動プロセスを停止してメッセージを表示(開始画面を終了)してからコンピュータをシャットダウンするにはどうすればよいですか?
私のサービスはスクリプトのみを起動します。何か間違っているか、より正確に言うと、特別なことが起こった場合は、マシンをシャットダウンしたいと思います。これまでスクリプトに1つを入れようとしましたsystemctl poweroff
。ただし、残念ながら、この呼び出しはすぐに返され、開始プロセスは終了とほぼ同時に正常に続行されます。私の場合、終了が最終的に完了するまで数秒間ログイン画面が表示されます。
これは私のユニットファイルです:
[Unit]
Description=My Fancy Script
Before=NetworkManager.target
[Service]
Type=oneshot
ExecStart=/path/to/script
StandardOutput=journal+console
[Install]
WantedBy=basic.target
試してみましたが、FailureAction=
それも効果がありませんでした。
これを行う方法についてのアイデアはありますか? 「典型的な」方法が必要です。たとえば、マウントポイントをマウントできない場合、システムはメンテナンスモード(ctrl-D;)に入り、起動が中断されます。
ベストアンサー1
「典型的な」方法が必要です。たとえば、マウントポイントをロードできない場合、システムはメンテナンスモードに入り、起動が中断されます。
まさにここに。見れば/usr/lib/systemd/system/local-fs.target
わかりますが、そうです。
OnFailure=emergency.target OnFailureJobMode=交換 - 元に戻せません