在初始化时使用this webpage中的“被盗”代码在C中守护我的程序时,守护程序会创建一个锁存文件,用于存储进程pid:
:
lfp=open(LOCK_FILE,O_RDWR|O_CREAT,0640);
if (lfp<0) exit(1); /* can not open */
if (lockf(lfp,F_TLOCK,0)<0) exit(0); /* can not lock */
sprintf(str,"%d\n",getpid());
write(lfp,str,strlen(str)); /* store pid in file */
:
守护程序终止后,网页似乎没有打扰清理。事实上,在网上搜索我找不到办法解决这个问题 守护程序C代码的所有示例都将创建一个锁文件,但之后不会删除它。 假设我可以捕获SIGTERM并正常退出,我应该如何解锁然后删除pid文件?