Arch Linuxで失敗したサービスをデバッグする方法

Arch Linuxで失敗したサービスをデバッグする方法

問題なく通常のアプリケーションのように実行されるアプリケーションがあります。このアプリケーションはI2CとWiFiを使用しています。 Wiresharkを使用してデータフローを検出し、実際に実行中であることを確認できます。サービスとして実装したとき、次のようにエラーなしでしばらくすると競合が発生しました。スタックトレースやデバッグのための方法はありますか?

* comi2c.service - I2C master
   Loaded: loaded (/etc/systemd/system/comi2c.service; enabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Fri 2015-03-13 16:15:14 CET; 1min 4s ago
  Process: 195 ExecStart=//home/sandbox/main 192.168.0.142 (code=killed, signal=TERM)

    Mar 13 15:40:56 sandbox systemd[1]: comi2c.service start operation timed out. Terminating.
    Mar 13 15:40:56 sandbox systemd[1]: Failed to start I2C master.
    Mar 13 15:40:56 sandbox systemd[1]: Unit salto.service entered failed state.
    Mar 13 15:40:56 sandbox systemd[1]: comi2c.service failed.

提供する:

[Unit]
Description=I2C master

[Service]
Type=forking
ExecStart=/root/run-i2cmaster.sh

[Install]
WantedBy=multi-user.target

run-i2cmaster.sh ファイルは次のとおりです。

#!/bin/bash

export $SENDER = 192.168.0.142

/home/sandbox/main $SENDER

修正する

タイプを変更すると問題が解決するforkingようです。simpleなぜそれが理解できないのですか?

ベストアンサー1

おすすめ記事