1、为什么在Linux上运行程序需要有个守护进程在单片机上运行程序没有听说过守护进程,那领导说了那就用守护进程创建应用程序子进程进行处理;但是为什么需要守护进程还是没理解?
2、思路
使用fork+execl+domian socket 配合进行父进程和子进程的创建以及程序运行状态监控;
守护进程程序中使用fork函数、fork会按照当前进程的资源复制一个子进程,通过execl函数调用想要运行程序来覆盖子进程;
fork函数会在两个进程中分别返回两个值;父进程中返回大于0值,子进程中返回==0值;错误返回-1
通过判断fork()==0判断当前线程是否为子进程,成立就使用execl函数调用想运行的程序;
通过判断fork()>0判断是否为父进程,成立就运行domain socket和子进程建立socket通信,父进程可以通过捕获sigchld信号+wait函数来是否子进程死后的僵尸进程和释放僵尸进程或者waitpid(x,x,WNOHANG)就不会阻塞死等了,可以让守护进程不断运行;
主要问题没理解为什么在linux上需要守护进程这个概念和想法
|