linux下程序启动后后台运行实现
关于linux下的程序运行很简单,将源码编译成二进制(假设为proram)文件后直接在命令行运行即可, void daemonize(void) { signal(SIGTTOU,SIG_IGN); signal(SIGTTIN,SIG_IGN); signal(SIGTSTP,SIG_IGN); if (0 != fork()) exit(0); if (-1 == setsid()) exit(0); signal(SIGHUP,SIG_IGN); if (0 != fork()) exit(0); if (0 != chdir("/")) exit(0); } int main(int argc,char *argv[]) { int o; while(-1 != (o = getopt(argc,argv,"hD"))) { switch(o) { case ‘D‘: daemonize(); break; default: show_help(); return -1; } } do_something(); }
这样生成的二进制文件(如program)只要在命令行加入参数 D即可后台运行: 关于daemonize()这段代码的分析,提供一个网上的介绍链接 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |