たとえば、次の形式でルールを作成する場合:
ACTION=="remove", GOTO="serial_end"
SUBSYSTEM!="tty", GOTO="serial_end"
KERNEL=="ttyUSB[0-9]*", RUN+="/<path-to-my-script>/myscript.sh %k"
LABEL="serial_end"
その後、USBデバイスを接続すると、そのtty
デバイスの名前、つまりデバイスがインストールされているディレクトリを取得できます/dev/ttyUSB*
。
Cプログラムで接続を監視したい場合は、この名前を正確に見つけることができますか?
dmesg
デバイスを確認し、NETでカーネルによって生成された2つのポートをすぐに表示できます/dev
。 Cでこれを見ることができるAPIはありますか?
ライブラリを試しましたが、udev
デバイスの場所を定義しますbus/usb/...
が、ドライバによって生成されたシリアルポートの名前が必要ですttyUSB*
。
udev
PSまたはデバイスがここにあることを知って、ライブラリの下でこの名前を見つけることは可能ですか/dev/bus/usb/002/047
?