вторник, 10 апреля 2012 г.

C#: Чтение файла без блокировки

Для того чтобы прочиталь файл без блокировки его на запись и удаление другими процессами, нужно открыть его следующим образом:
FileStream stream = new FileStream(pathName, FileMode.Open, 
FileAccess.Read, FileShare.ReadWrite | FileShare.Delete);

суббота, 31 марта 2012 г.

Массивы PHP и SplFixedArray

Оказывается, под любой элемент массива в PHP выделяется 144 байта. Почему, написано в этой статье http://habrahabr.ru/post/141093/. Для того чтобы сэкономить оперативную память при работе с большими массивами, можно использовать класс SplFixedArray. При использовании этого класса, можно экономить 88 байт на элемент (под каждый элемент выделяется всего 56 байт:).

понедельник, 7 ноября 2011 г.

пятница, 21 октября 2011 г.

Перезагрузка системы из командной строки

Linux

shutdown -r 0

Windows

shutdown -r -f -t 0

Автоматический вход в систему Windows XP и Windows 7

Выполнить команду:

control userpasswords2

В появившемся диалоге убрать галочку Требовать ввода имени пользователя и пароля. После нажатия OK или Применить, появится окно Автоматический вход в систему ввести имя пользователя по умолчанию и пароль, нажать OK. После этого при загрузке система будет автоматически логиниться под этим пользователем.

Настройка Cron

Cron -- планировщик задач в Linux.Он выполняет по расписанию заданные пользователем задачи. Каждый пользователь имеет свой список таких задач. Этот список настраивается командой crontab. В соответсвии со стандартом POSIX эта команда может вызываться всего с тремя опциями:
-l -- вывод списока уже существующих задач;
-e -- переход в режим редактирования задач;
-r -- удаление список задач.
В Linux у crontab есть еще оция -u. С её помощью можно работать  со списоком задач любого пользователя следующим образом:

crontab  -u anyuser -l/-e/-r


Так же эта оция позволяем привязать cron любого пользователя к произвольному файлу списка задач:

crontab -u anyuser crontabfile

Перейдем к редактированию списка задач, командой crontab -e. Если вы редактируете список задачи впервые, то программа попросит выбрать из списка редактор, который бы вы хотели использовать для редактирования списка задач. Если не первый раз, то откроет редактор, который был выбран при первом запуске (обычно vi или nano).
Каждая строка планировщика имеет следующий формат:

* * * * * выполняемая_команда
^ ^ ^ ^ ^
| | | | |
| | | | +---- День недели (0 - 7) (0 или 7 -- это Воскресенье)
| | | +------ Месяц (1 - 12)
| | +-------- День (1 - 31)
| +---------- Час (0 - 23)
+------------ Минута (0 - 59)


Временные параметры можно указывать диапазоном, в слудующем формате: 0-59, или перечисление, разделяя значения запятой: 0,1,2,8.
Примеры задач:

# выводить текст 'hello' в файл test.txt каждый понедельник в 3:30
30 3 * * 1 echo hello >> test.txt

# выполнять каждую минуту обнавление рабочей копии сайта из репозитория
0-59 * * * * cd /var/www/mysite; svn update