2017-04-12 1 views
0

私の目標は、デバイスをプラグインすると、コードが "新しいドライブが/ mount/point/hereにマウントされました"というメッセージを画面に表示するという無限ループ(キーボード割り込みのみで停止)でスクリプトを実行することです。私はpyudevを使用しようとしましたが、動作させることができませんでした。誰も私にこれを行う方法を示すことができますか?私はまだLinuxのイベントと対話することに新しいです。デバイス監視用のPython/Linux-USBポートを監視し、新しいUSBストレージデバイスが接続されたときにマウントポイントのパスを表示するスクリプトを作成するにはどうすればよいですか?

+0

はpyudevは、行くためにLIBのように聞こえます。 Udev自体もこの機能を備えています(udevadm monitor) – marscher

答えて

0

ループ内の以下のコードのようなもの:あなたのpythonとのインタフェースにしたい場合は

#!/usr/bin/python3 

import pyudev 

context = pyudev.Context() 

path = pyudev.Devices.from_sys_path 

monitor = pyudev.Monitor.from_netlink(context) 
monitor.filter_by('block') 

# enumerate at device connection 
for device in iter(monitor.poll, None): 
    if 'ID_FS_TYPE' in device: 
    if device.action == 'add': 
     if device.device_node[5:7] == 'sd': 
      print('New drive mounted at /', device.device_node) 
関連する問題