int daemon()
{
if (daemon(1, 1) < 0) /* Keep the same working directory and pipes */
{
makeTimer("First Timer", &firstTimerID, 2, 2); //2ms
makeTimer("Second Timer", &secondTimerID, 10, 10); //10ms
makeTimer("Third Timer", &thirdTimerID, 100, 100); //100ms
return 1;
}
}
int main()
{
daemon();
}
return 0;
}
我创建了一个计时器,计时器每2ms,10ms和100ms调用一次任务。我想在后台运行计时器,它永远不会死。任何人都可以在c程序中给我一些想法,在linux操作系统的后台运行任务。 我想让这三个电话在后台运行:
makeTimer("First Timer", &firstTimerID, 2, 2); //2ms
makeTimer("Second Timer", &secondTimerID, 10, 10); //10ms
makeTimer("Third Timer", &thirdTimerID, 100, 100); //100ms
答案 0 :(得分:2)
从daemon()
尝试C中的unistd.h
功能。它可以让您轻松地从终端分离并在后台运行。
就像
一样简单if (daemon(1, 1) < 0) /* Keep the same working directory and pipes */
{
perror("daemon");
return 1;
}
然后将其放入main
函数
答案 1 :(得分:0)
您可以使用nohup命令调用脚本。只需在命令行上运行脚本,如下所示nohup <myscript>
然而,您可能真正想要的是创建一个cron作业。检查您的Linux发行版的文档以了解更多信息。