GNU/Linux >> Linux の 問題 >  >> Linux

Linux:接続された USB シリアル ドングルでデーモンを開始する

私のさらなるコメントのリンクがこの問題を解決しているように見えるので、特定の USB デバイスが接続されているときにデーモンを起動するために udev を使用するための解決策は次のとおりです:

udev イベント (デバイスのホットプラグ) で実行時間の長い systemd サービスを開始する適切な (-ish) 方法


次のような udev ルールを作成します

# cat /etc/udev/rules.d/95-serialdaemon.rules
KERNEL=="ttyUSB0", TAG+="systemd", ENV{SYSTEMD_WANTS}="serialdaemon.service"

次のような systemd サービスを作成します

# cat /lib/systemd/system/serialdaemon.service
[Unit]
Description=USB serial to socket bridge
After=remote-fs.target
After=syslog.target

[Service]
ExecStart=/mnt/serialdaemon.sh

実行可能ファイルを作成します

# cat /mnt/serialdaemon.sh
#!/bin/sh
date +%F-%T >> /var/log/serialdaemon.log
/usr/local/serialdaemon/serialdaemon -serial /dev/ttyUSB0 -port 15789 -baud 38400 >> /var/log/serialdaemon.log 2>&1
date +%F-%T >> /var/log/serialdaemon.log

Linux
  1. Linux OS サービス「dhcpd」

  2. Linux OS サービス「anacron」

  3. Linux OS サービス「iptables」

  1. Linux OS サービス「NetFS」

  2. Linux OS サービス「ldap」

  3. Linux OS サービス「yppasswdd」

  1. Linux OS サービス「xendomains」

  2. Linux OS サービス「nscd」

  3. Linux OS サービス「sshd」