Почему inotifywait не сообщает об изменениях, внесенных в файл емкости батареи?

Я повторил текущую дату в файлах, названных со значением текущего времени в наносекундах. Затем я запустил цикл for, который вы видите ниже. Другой комментатор выше точно спрашивает об отдельных строках. Новые строки и другие управляющие символы могут повлиять на отображение CSV. Если вам нужно, вы можете использовать trдля удаления управляющих символов.

Обратите внимание, что внутренние двойные кавычки экранированы.

# for file in *.txt ; do echo -e "\"$file\",\"$(cat $file)\"" ; done > DudesFile.csv
# cat DudesFile.csv
"522846064.txt","Mon Apr 30 16:38:07 EDT 2018"
"528189011.txt","Mon Apr 30 16:38:08 EDT 2018"
"534462603.txt","Mon Apr 30 16:38:09 EDT 2018"
"539602831.txt","Mon Apr 30 16:38:10 EDT 2018"
"544644085.txt","Mon Apr 30 16:38:11 EDT 2018"
"549794326.txt","Mon Apr 30 16:38:12 EDT 2018"
"554869915.txt","Mon Apr 30 16:38:13 EDT 2018"
"559829685.txt","Mon Apr 30 16:38:14 EDT 2018"
"564845609.txt","Mon Apr 30 16:38:15 EDT 2018"
"570065970.txt","Mon Apr 30 16:38:16 EDT 2018"
"575184986.txt","Mon Apr 30 16:38:17 EDT 2018"
"580279560.txt","Mon Apr 30 16:38:18 EDT 2018"
"585486035.txt","Mon Apr 30 16:38:19 EDT 2018"
"590751832.txt","Mon Apr 30 16:38:20 EDT 2018"
"596243540.txt","Mon Apr 30 16:38:21 EDT 2018"
"601355464.txt","Mon Apr 30 16:38:22 EDT 2018"
"606470579.txt","Mon Apr 30 16:38:23 EDT 2018"
"611651121.txt","Mon Apr 30 16:38:24 EDT 2018"
"616854098.txt","Mon Apr 30 16:38:25 EDT 2018"
"622111044.txt","Mon Apr 30 16:38:26 EDT 2018"
"627396500.txt","Mon Apr 30 16:38:27 EDT 2018"
"632593596.txt","Mon Apr 30 16:38:28 EDT 2018"
"637756851.txt","Mon Apr 30 16:38:29 EDT 2018"
"643109987.txt","Mon Apr 30 16:38:30 EDT 2018"
"648373987.txt","Mon Apr 30 16:38:31 EDT 2018"
"653597441.txt","Mon Apr 30 16:38:32 EDT 2018"
"658773675.txt","Mon Apr 30 16:38:33 EDT 2018"
"663844298.txt","Mon Apr 30 16:38:34 EDT 2018"
"668910760.txt","Mon Apr 30 16:38:35 EDT 2018"
"674208819.txt","Mon Apr 30 16:38:36 EDT 2018"
"679508914.txt","Mon Apr 30 16:38:37 EDT 2018"
"684725670.txt","Mon Apr 30 16:38:38 EDT 2018"
"689989415.txt","Mon Apr 30 16:38:39 EDT 2018"
"695392140.txt","Mon Apr 30 16:38:40 EDT 2018"
"700430922.txt","Mon Apr 30 16:38:41 EDT 2018"
"705658665.txt","Mon Apr 30 16:38:42 EDT 2018"
"711117890.txt","Mon Apr 30 16:38:43 EDT 2018"
"716275104.txt","Mon Apr 30 16:38:44 EDT 2018"
"721507284.txt","Mon Apr 30 16:38:45 EDT 2018"
0
11.04.2020, 21:08
1 ответ

Как сказал @rudib в комментариях, все в /sysявляется виртуальным :содержимое каждого файла создается свежим из соответствующей структуры данных ядра всякий раз, когда он фактически читается. Так что никаких модификаций в смысле записи чего-то в файл для его изменения.

То же самое касается /proc.

Уведомления о состоянии батареи доступны в виде общих сообщений Netlink с именем семейства = acpi_eventи именем группы многоадресной рассылки acpi_mc_group. К сожалению, я не знаю инструмента, который дал бы простой доступ к сообщениям Netlink для сценариев оболочки, но, по-видимому, инструментpyroute2также может декодировать сообщения netlink, содержащие события ACPI, поэтому он может быть полезен в качестве примера кода Python.

4
19.03.2021, 02:29

Теги

Похожие вопросы