Системные переменные - сохраненные в:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Переменные <ПО УМОЛЧАНИЮ> - сохраненные в:
HKEY_USERS\.DEFAULT\Environment
.DEFAULT пользователь не является настройками по умолчанию, которые создаются, когда профиль пользователя создается впервые. Скорее.DEFAULT является средой HKEY_CURRENT_USER, используемой контекстом защиты LocalSystem.
Вот некоторый фон из блога Raymond Chen, чтобы дать моему ответу некоторое addt'l доверие: http://blogs.msdn.com/oldnewthing/archive/2007/03/02/1786493.aspx> улыбка <
Вы могли использовать API FSEvents и маленький сценарий для контроля файла (или более точно каталог, который содержит файл).
Существуют лучшие способы сделать это, но это будет работать
while true ; do echo -n "`date +%s:` " >> file.log ; cat file >> file.log ; done
Файл file.log вырастет... быстро...
Если Вы нуждаетесь в большем количестве функций, любите проверять, чтобы видеть, равно ли содержание файла предыдущему содержанию, можно развернуть это в сценарий. Просто комментарий ниже и я помогу.
В системах BSD (и я верю большинству других систем), tail -f
сбросит к началу файла, если он будет видеть, что файл был усеченным (это походит точно на поведение, которое Вы хотите).
В системах Linux происходит то же самое, но по крайней мере в поле Debian у меня есть наложение вокруг хвоста, имеет "интервал опроса", таким образом, необходимо сказать этому не спать между проверками файла (tail -s 0 -f ...
) чтобы это заметило усечение, в других отношениях странные вещи происходят (если файл является тем же размером или меньший, когда это выписано, Вы не получаете вывода, если это больше, Вы получаете все после того, как текущий маркер количества байта хвоста, и т.д. - играют с Вашим хвостом impementation, чтобы видеть, как это ведет себя),
Как альтернатива и на Linux и на системном хвосте BSD имеет a -F
опция (который похож -f
но проверки, чтобы видеть, был ли файл повернут - т.е. имя, указывают на другое inode число). Это не поможет Вам, если файл будет усеченным в противоположность unlink'd и замененный все же.
-F
включает ту же семантику усечения как -f
. это просто следует имя вместо inode
– voretaq7
25 February 2010 в 20:51
Бедный человек watch
:
while true
do
clear
cat file
sleep 1
done
Изменитесь cat
если файл длиннее, чем экранное к чему-то как:
tail -n $((LINES - 4)) file
Вы могли добавить условные выражения для проверки для разнообразия в метку времени файла и т.д.
watch
isn' t, чем Вы ожидаете, что это будет), также если файл будет вращаться быстрее, чем каждый-n
секунды you' ll пропускают материал... – voretaq7 25 February 2010 в 19:03watch -n
, что-либо сsleep
, linuxtail
с-s
> 0). That' s также не принимающий во внимание мое возражение на любое решение это " только продолжает работать [вставляют платформу] " – voretaq7 25 February 2010 в 20:49