Amazon Linux 2でアプリケーションをサービスとして管理できる.service
ようにファイルを開発しています。systemd
ただし、と入力すると、systemctl start my-new-service
ログに次のエラーが報告されます。
Mar 24 hh:mm:ss the.host.name systemd[1]: my-new-service.service: main process exited, code=exited, status=10/n/a
status=10/n/a
このエラーメッセージはどういう意味ですか?
さまざまな可能なステータスコードを解釈する方法を説明し、このフォーラムの要約が長すぎる場合は、説明全体へのリンクを提供してください。
ベストアンサー1
このメッセージは、ファイル.service
によって開始されたアプリケーションがExecStart=
終了し、終了時に戻りコードが10に設定されたことを意味します。
結果コードに単一の統合標準はありません(いくつかの部分的な標準と規則がありますが)。したがって、コード10が何を意味するのかを調べる唯一の方法は、特定のアプリケーションのドキュメントまたはそのソースコードを読むことです。ドキュメントではこれを指定しません。
したがって、systemdはコード10が何を意味するのかわからないため、n / aを追加してsystemdに利用可能な口頭記述がないことを示します。問題のあるアプリが何であるかを教えてくれないため、結果コード10で検索できなくなります。
文書systemd
ではいくつかの結果コードルールテーブルがあります。結論として:
- Cライブラリはデフォルトで正常に0を定義し、失敗に対して1(またはゼロ以外の値)を定義します。
- これLinux標準ライブラリ(LSB)には、次の定義があります。コード2 ... 7の場合、サービスとして使用するように設計されているもの(または元のSysVinitスタイルのサービス起動スクリプト用)
LSB仕様は、コード200以降が実装固有であるため、
systemd
自己生成エラーの範囲内のコードセットを定義することを示しますsystemd
。BSD オペレーティング・システムは、64..78 の範囲の共通出口コード・セットを定義します。
/usr/include/sysexits.h
C開発パッケージがシステムにインストールされている場合、これらのコードの定義は通常、Linuxシステムのファイルでも使用できます。
ただし、これらのいずれもCode 10に言及していないため、問題のアプリケーションを知らないと推測できません。