LINUX.ORG.RU

Сообщения atridies

 

Надо заменить переменную окружения для всей системы из ПО.

Здравствуйте!

Есть кусок кода, который модифицирует переменную окружения (задает часовой пояс):

rs = setenv("TZ", str, 1);
tzset();
printf("setenv_res:%i", rs);
puts(getenv("TZ"));
Все отлично работает - переменная изменяется, rs=0. Но переменная окружения - конкретного процесса. Стоит выйти из программы и сделать в sh: «env» - переменная не изменена и новый часовой пояс не используется для расчета localtime.

Если не запуская программу - сделать в sh:

export TZ="MSK-3:00:00"

то все отлично и localtime - дает верное время.

И еще: после перезагрузки - всё слетает.

P.S. ОС: Angstrom Linux. Порт под ARM.

Заранее спасибо!

atridies
()

RSS подписка на новые темы