📄 delpid.c
字号:
/*************************** kill shm, msg, sema **************************** */#include "shmmsg.h"/*intDelSem(key_t semkey){ int semid; if((semid=semget(semkey,1,0))<0) { syslog("semaphoreid get error!",__FILE__,__LINE__); return -1; } if((semctl(semid,0,IPC_RMID,0))<0) { syslog("delete semaphore error!",__FILE__,__LINE__); return -1; } return 0;}*/intdelsem(key_t semkey){ int semid; if((semid=semget(semkey,2,0))<0) { syslog("semaphoreid get error!",__FILE__,__LINE__); return -1; } if((semctl(semid,0,IPC_RMID,0))<0) { syslog("delete semaphore error!",__FILE__,__LINE__); return -1; } return 0;}intDelShm(){ int shmid; key_t shmkey; shmkey = ftok(getetcf(SHMDIR1),SHMKEY1); if ( shmkey < 0) { syslog(" get share memory key err!",__FILE__,__LINE__); return -1; } if ((shmid= shmget(shmkey,sizeof(struct comshm),0660|IPC_CREAT))< 0 ) { syslog(" get share memory id err!",__FILE__,__LINE__); return -1; } if (( shmctl (shmid, IPC_RMID, 0)) < 0) { syslog(" delete share memory err!",__FILE__,__LINE__); return -1; } return 0;}/*intdelshm1(){ int shmid; key_t shmkey,GetShmKey1(); if (( shmkey = ftok(getetcf(SHMDIR1),SHMKEY1)) < 0) { syslog(" get share memory key err!",__FILE__,__LINE__); return NULL; } if ((shmid= shmget(shmkey,sizeof(struct node)*MAXBUF,0660|IPC_CREAT))< 0 ) { syslog(" get share memory id err!",__FILE__,__LINE__); return NULL; } if (( shmctl (shmid, IPC_RMID, 0)) < 0) { syslog(" delete share memory err!",__FILE__,__LINE__); return -1; } return 0;}*/main(){ FILE *fp; char buffer1[30], buffer2[30], buffer3[30], buffer4[51]; if((delsem(SEMKEY1))<0) syslog("del Semaphore error!",__FILE__,__LINE__); /*if((DelSem(SEMKEY3))<0) syslog("del Semaphore error!",__FILE__,__LINE__); if((DelSem(SEMKEY2))<0) syslog("del Semaphore error!",__FILE__,__LINE__);*/ if((DelShm())<0) syslog("del share memory error!",__FILE__,__LINE__); /* if((delshm1())<0) syslog("del share memory1 error!",__FILE__,__LINE__);*/ if ((fp = popen("ps -e", "r")) == NULL) { syslog("open 'ps -e' file error!",__FILE__,__LINE__); exit(-1); } while(!feof(fp)) { memset(buffer1, '\0', sizeof(buffer1)); memset(buffer2, '\0', sizeof(buffer2)); memset(buffer3, '\0', sizeof(buffer3)); memset(buffer4, '\0', sizeof(buffer4)); fscanf(fp, "%s %s %s %s", buffer1, buffer2, buffer3, buffer4); if (strcmp(buffer4, "GenDaemon") == 0) { sprintf(buffer4, "kill %s", buffer1); system(buffer4); } } pclose(fp);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -