Вы попробовали watch
с параметром --precise
?
watch -n 1 --precise "date '+%Y-%m-%d %H:%M:%S.%N' >> ~/Desktop/timelog-watch.txt"
Из страницы справочника:
Обычно, этот интервал интерпретируется как amout времени между завершением одного выполнения команды и начало следующего запуска. Однако с-p или - точная опция, можно предпринять попытку часов к команде выполнения каждый интервал секунды. Попробуйте его ntptime и заметьте, как доли секунды остаются (почти) то же, в противоположность нормальному режиму, где они непрерывно увеличиваются.
Параметр не мог бы быть доступным в Вашей системе, все же.
Необходимо также рассмотреть то, что должно произойти, когда для осуществления программы нужна больше чем одна секунда. Следующее запланированное выполнение должно быть пропущено, или оно должно быть выполнено поздно?
Обновление: Я запускал скрипт в течение некоторого времени, и он не освобождал одноэтапное:
2561 lines
start: 2012-07-17 09:46:34.938805108
end: 2012-07-17 10:29:14.938547796
Обновление: --precise
флаг является дополнением Debian, патч однако довольно прост: http://patch-tracker.debian.org/patch/series/view/procps/1:3.2.8-9squeeze1/watch_precision_time.patch
По крайней мере, в моей настольной системе Linux, errno 2 ENOENT
, т.е. никакой такой файл или каталог. Можно узнать с errno
команда (хотя у Вас, вероятно, нет этого по телефону).
Это могло означать, что у Вас нет / данных по тому телефону (который был бы нечетен). Мой внедренный телефон (Galaxy Nexus, рабочий запас Jelly Jean 4.2.2) дает разрешение, отклоненное, когда я пробую это в оболочке (не в программе C, поскольку Вы, кажется, делаете),
Я предлагаю ls -ld /data
запускаться, и возможно также which echo
видеть, отличается ли что-то там. Или возможно у Вас нет оболочки; делает system("true")
работа?
su
и superuser.apk/supersu.apk/etc.) – derobert 14.04.2013, 05:36