LINUX.ORG.RU

вызов функции по системному времени [ C, linux]


0

2

как на Си под линуксом вызвать определенную функцию в заранее заданное время?

т.е. например, есть простая программа, в которой раз в сутки(время задается заранееи программа берет это время из системного времени) вызывается определенная функция?

зачем изобретать крон?

aol ★★★★★
()

то есть, поясню: делаешь программу, которая вызывает определенную функцию сразу после запуска. помещаешь эту программу в крон с определенным расписанием.
профит.

aol ★★★★★
()

Самый простой UNIX-way вариант:

нужно вынести «определённую функцию» в отдельный файл и переименовать её в int main (...)

потом скомпилить этот отдельный файл в отдельное мини-приложение и использовать штатный crontab.

Slavaz ★★★★★
()

Определить, через какое время от текущего наступит заданное время, уставновить таймер (man timer_create) и обработчик сигнала от этого таймера (man sigaction).

P.S. Не гарантируется, что вызов будет совсем точно в заданное время.

mky ★★★★★
()
Ответ на: комментарий от mky

Определить, через какое время от текущего наступит заданное время, уставновить таймер (man timer_create)

Возможно, будет логичнее прямо на заданное время и установить с помощью чего-то типа TIMER_ABSTIME.

const86 ★★★★★
()
Ответ на: комментарий от true_admin

busy-loop же! Если текущее время меньше чем нужное то... проверяешь снова :)

Что самое смешное, он так и сделает.

gentoo_root ★★★★★
()
Ответ на: комментарий от true_admin

busy-loop же! Если текущее время меньше чем нужное то... проверяешь снова :)

Вот вам смешно, а ТС именно так и сделает.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.