--------------------------
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
#include <stdlib.h>
void handler(int signo)
{
printf("recv the signal from parent process\n")
}
int main()
{
pid_t pid
pid = fork()
switch(pid)
{
case -1:
perror("fork failed")
exit(1)
case 0:
printf("in the child\n")
signal(SIGCONT, handler)
pause()
printf("child weakup\n")
break
default:
printf("in the parent\n")
sleep(5)
kill(pid, SIGCONT)
sleep(5)
printf("parent weakup\n")
break
}
printf("bye..\n")
exit(0)
}
--------------------------------------------------
运行及输出:
beyes@linux-beyes:~/C>./weakup.exe
in the child
in the parent
recv the signal from parent process
child weakup
bye..
parent weakup
bye..
....................................
一、什么是PID:PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。顾名思义,PID控制算法是结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应用最为广泛的一种控制算法,该控制算法出现于20世纪30至40年代,适用于对被控对象模型了解不清楚的场合。 ---百度百科
二、PID是否难学:在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在我所接触的控制算法当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的,想想牛顿的力学三大定律吧,想想爱因斯坦的质能方程吧,何等的简单!简单的不是原始的,简单的也不是落后的,简单到了美的程度。 ---【1】
三、PID算法的C语言源码:PID 控制算法可以分为位置式 PID 和增量式 PID 控制算法
详细见参考【1】【2】
参考:
【1】PID算法
【2】简易PID算法的快速扫盲(超详细+过程推导+C语言程序)