후행 /sys/devices/platform/applesmc.768/light가 작동하지 않습니다.

후행 /sys/devices/platform/applesmc.768/light가 작동하지 않습니다.

옛날 옛적에 나는 이 껍질 주문을 시전했습니다.

# tail -f /sys/devices/platform/applesmc.768/light

그것이 생겨났고,

(0,0)

제가 읽은 파일은 Macbook Pro의 광센서 추상화 파일입니다.

불행하게도 센서(카메라와 동일한 위치)에 빛을 비추면 값이 업데이트되지 않습니다!

수동으로 읽을 때 변경 사항이 표시됩니다.

# cat /sys/devices/platform/applesmc.768/light
(50,0)

과제는왜? ! 값에 대한 폴링을 수행하고 값이 변경되면 알림을 받고 싶기 때문입니다. 사용파이썬도요작동하지 않습니다.

답변1

대신 cat 주위에 watch 또는 while 루프를 사용하십시오.

watch cat /sys/devices/platform/applesmc.768/light

while sleep 0.5; do cat /sys/devices/platform/applesmc.768/light; done

파일에 새 값이 추가되지 않고 대체되므로 값을 다시 읽으려면 파일을 다시 읽어야 합니다. 따라서 tail은 파일에 더 많은 줄이 추가되기를 기다리고 있기 때문에 작동하지 않습니다.

Python에서는 열린 파일의 시작 부분으로 점프할 수 있지만 그렇게 하면 이전 값을 다시 다시 읽게 될 수도 있습니다. 그러나 파일을 닫았다가 다시 열면 원하는 대로 작동합니다.

관련 정보