1) 读取进程运行时文件,文件内为进程Pid号
2) 读取进程号,调用系统调用kill,给进程发SIGTERM 信号。
代码:
static int kill_spider_backgroud()
{
char path[MAX_PATH];
FILE *f;
int pid = 0; /* pid number from pid file */
/* set global dirs */
spd_snprintf(path, sizeof(path),"%s/%s", spd_global_dirs_PID_DIR, pfile);
if((f = fopen(path, "r")) == 0) {
fprintf(stderr, "Can't open pid file %s", path);
return -1;
}
if(fscanf(f, "d", &pid)!= 1) {
spd_log(LOG_ERROR, "unenble to get pid !\n");
}
/* send signal SIGTERM to kill */
if(pid > 0) {
spd_log(LOG_DEBUG, "Killing %d\n", pid);
kill(pid, SIGTERM);
}
fclose(f);
return 0;
}
分享到:
相关推荐
c语言linux版本杀死指定名称的进程
Linux进程通信 C语言实现 实现了若干种方式的linux进程间通信
超强显示进程和杀死进程C语言源码 c代码不错.........
linux下C语言编程4-使用共享内存实现进程间通信
Linux下C语言多进程实现TCP程序
linux下c语言编程1-18\Linux下C语言编——进程通信.doc
linux下c语言编程1-18\Linux下C语言编——进程.doc
Linux下C语言编程--进程的创建
嵌入式Linux C语言应用程序设计:嵌入式Linux C语言应用程序设计
用c语言写的遍历进程,创建进程,杀死进程。
《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》...
用C语言链表实现进程转换,阻塞变就绪,就绪变执行,执行变阻塞三种状态的转换
杀死运行进程以及进程之间通信等功能。 2.实验提示 PCB结构通常包括以下信息:进程名,进程优先数,轮转时间片,进程所占用的CPU时间,进程的状态,当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增...
linux c语言实现websocket编程,亲测可以运行,linux下直接编译就可以。代码中文件较多,结构比较清晰,未加注解。若有疑问请留言。
说明:工程分为两个。一个是Linux C语言编写的MQTT客户端,另一个是websocket编写的MQTT客户端,先运行Linux的,再运行websocket就出实验现象了。(发布的主要是温湿度数据、继电器控制状态、GPS定位系统等等)
Linux C语言函数手册,
本文实例讲述了Linux下C语言修改进程名称的方法。分享给大家供大家参考。具体如下: #include #include #include ./util/setproctitle.c // extern char **environ; // int main(int argc , char *argv[]) // { /...
3,服务器总共使用一个进程,两个线程。(代码注解实际项目之中,以四个线程或者更的线程更好处理) 经验之谈: 1,服务器编程最好根据实际应用中起用多个进程与多个线程进行操作。 但线程不可过多,CPU频繁切换...
linux下C语言实现https请求源码