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왜 그런지 이해가 안 되나요?

관련 정보