質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.98%

  • Linux

    3205questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Raspbian

    65questions

自作のデーモン設定について(systemd)

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 582

myu

score 12

自作のデーモンを作成したがうまく起動しません。90秒ぐらい経つとデーモンが異常終了?してしまいます。raspbianバージョンは8.0です。原因がわからず、途方に暮れています。
以下に経緯を。

/usr/lib/systemd/system/にthermohygrod.serviceというデーモンを作成(下記内容)

[Unit]
Description=Execute thermohygro.py
[Service]
ExecStart=/usr/bin/python3 /usr/local/share/thermohygro.py
Restart=no
Type=forking
[Install]
WantedBy=multi-user.target

デーモンを実行「sudo systemctl start thermohydrod」
90秒後、以下のメッセージが出力され、デーモンが終了。
「Job for thermohygrod.service failed. See 'systemctl status thermohygrod.service' and 'journalctl -xn' for details.」

syslogで確認すると、以下のように表示され、

         ・・・・・・・・
Sep 13 11:29:29 raspberrypi systemd[1]: Starting Execute thermohygro.py...
Sep 13 11:30:59 raspberrypi systemd[1]: thermohygrod.service start operation timed out. Terminating.
Sep 13 11:30:59 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Wed Sep 13 11:32:29 2017 [try http://www.rsyslog.com/e/2007 ]
Sep 13 11:30:59 raspberrypi systemd[1]: Failed to start Execute thermohygro.py.
Sep 13 11:30:59 raspberrypi systemd[1]: Unit thermohygrod.service entered failed state.
         ・・・・・・・・


「 sudo systemctl status thermohygrod」で確認すると次のように出力されます。

● thermohygrod.service - Execute thermohygro.py
   Loaded: loaded (/usr/lib/systemd/system/thermohygrod.service; disabled)
   Active: inactive (dead)

         ・・・・・・・・
 9月 13 11:29:29 raspberrypi systemd[1]: Starting Execute thermohygro.py...
 913 11:30:59 raspberrypi systemd[1]: thermohygrod.service start operation timed o...g.
 913 11:30:59 raspberrypi systemd[1]: Failed to start Execute thermohygro.py.
 913 11:30:59 raspberrypi systemd[1]: Unit thermohygrod.service entered failed state.
         ・・・・・・・・
Hint: Some lines were ellipsized, use -l to show in full.
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+2

Systemd: Start operation timed out. Terminating によると、Type=forkingではなくType=simpleを指定すべきかもしれません(未検証)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/09/13 16:00

    ありがとうございました。期待通りの結果になりました。
    もう少し自分もうまく調べるよう努力します。

    キャンセル

  • 2017/09/13 16:01

    期待通りの結果が出ました。
    自分でももう少しうまく調べられるよう努力します。
    ありがとうございました。

    キャンセル

+1

何となく気になるのが、ヒントに、

Hint: Some lines were ellipsized, use -l to show in full.

と書いてあるように、ここで詳細がみれないかと思ったりします。

sudo systemctl status thermohygrod -l

で実行してみたら、詳細が見れるかもしれませんね。

また、 journalctl コマンドで、起動時のログが改めて閲覧できるかもしれません。

以上、直接の回答にはならないかとは存じ上げますが、解決の糸口になれば幸いです。

 参考資料

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/09/13 15:18

    迅速な回答ありがとうございます。「sudo systemctl status thermohygrod -l」を実行しました。
    「 9月 13 11:30:59 raspberrypi systemd[1]: thermohygrod.service start operation timed o...g.
    」の「o...g.」の部分が、「out. Terminating.」になりました。他は、変更ありませんでした。おそらく詳細なメッセージが、自作デーモンの場合、ログが出ないのですね。ただ、「-l」オプション、勉強になりました。で、「journalctl」コマンドを実行したのですが、
    「 9月 13 14:49:26 raspberrypi systemd[1]: Starting Execute thermohygro.py...
    9月 13 14:50:56 raspberrypi systemd[1]: thermohygrod.service start operation timed out. Terminating.
    9月 13 14:50:56 raspberrypi systemd[1]: Failed to start Execute thermohygro.py.
    9月 13 14:50:56 raspberrypi systemd[1]: Unit thermohygrod.service entered failed state.
    」とほぼ、syslogと同じ内容で、手掛かりが見つかりませんでした。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.98%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Linux

    3205questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Raspbian

    65questions