- 14
- 0
- 约3.66千字
- 约 8页
- 2017-07-04 发布于湖北
- 举报
进程软中断通信
1.kill()
进程用kill()向一个进程或一组进程发送一个信号。系统调用pid,sig)。其pid是一个或一组进程的标识符,sig是要发送的软中断信号。信号的发送分如下三种情况。
pid0时,核心
pid=0时,核心将信号发送给与发送进程同组的所用进程。
pid=-1时,核心将信号发送给
2.signal(sig,function)
接收信号的程序用signal()来实现对处理方式的预置,允许调用系统调用 function),此时需包含头文件其中sig用于指定信号的类型,sig为0则表示没有收到任何信号,其余
调用函数使用如下头文件:
#includesignal.h
参数定义如下:
signal (sig,function)
int sig;
void(*func) ();
function是该进程中的一个函数地址,在核心它以对除了核心自动进程
function的解释如下:
(1)function=1时,进程
(2)function=0时,默认值,进程
(3)function为非0、非1类整数时,执行用户设置的软中断处理程序。
信号的类型
值 名字 说明 01 SIGHUP 挂起(hangup) SIGINT 中断,当用户^c”键或“^break”键时 03 SIGQUIT 退出,当用quit“键时 04 SIGILL 非法指令 05 SIGTRAP 跟踪陷阱(trace trap) SIGIOT IOT指令 07 SIGEMT EMT指令 08 SIGFPE 浮点运算溢出 09 SIGKILL 终止进程 10 SIGBUS 总线错误 11 SIGSEGV 段违例,进程试图去访问其虚地址 12 SIGSYS 系统调用中参数错,如系统调用号非法 13 SIGPIPE 向某个非读管道中写入数据 14 SIGALRM 闹钟。当进程希望 15 SIGTERM 软件终止(software termination) SIGUSR1 用户自定义信号1 17 SIGUSR2 用户自定义信号2 18 SIGCLD 某个子进程死 19 SIGPWR 电源故障
编程实现例一
【任务】
编程实现,父进程生成子进程,父进程发送信号并等待子进程接收信号并完成某种功能,然后自我终止并唤醒父进程。
#include stdio.h
#include signal.h
#include unistd.h
int func();
main()
{
int i,j;
signal(17,func);
if(i=fork())
{
printf(“Parent: Signal 17 will be send t to Child! \n ”)
kill(i,17);
wait(0);
printf (“Parent: finished! \n”);
}
else
{
sleep(10);
printf(“Child: A signal from my Parent is received ! \n”);
exit();
}
}
func()
{
printf(“It is signal 17 processing function ! \n”)
}
【运行结果】
【分析】
编程实现例二
【任务】
编制一程,父进程父进程。Parent process is killed!
【程序】
#include stdio.h
#include signal.h
#include unistd.h
int waiting(),stop();
int wait_mark;
main()
{
int p1,p2;
while ((p1=fork())==-1);
if (p10)
{
while ((p2=fork())==-1);
if (p20)
{
printf(“parent\n”);
wait_mark=1;
signal(SIGINT,stop); /*接收DEL信号,并转stop()*/
waiting();
kill(p1,16); /*向P1发中断信号16*/
kill(p2,17); /*向P2发中断信号17*/
wait(0);
wait(0);
printf(“parent process is killed!\n”);
exit(0)
}
else
{
printf(“p2\n”);
wait_mark=1;
signal(1
您可能关注的文档
- 金山E7地块基坑围护设计.doc
- 金山卫遗址纪念公园技术标.doc
- 金属的塑性变形与再结晶.doc
- 金属工艺复习.doc
- 金属工艺学复习.doc
- 金属工艺学理论考试模拟及1.doc
- 金属工艺学模拟1及其.doc
- 金属工艺学砂型铸造学校.doc
- 金属工艺学设计滑动套.doc
- 金属工艺学题库及.doc
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 数字图像的基本运算.ppt VIP
- 国家基层高血压防治管理指南2025版ppt课件.pptx VIP
- 《中华人民共和国危险化学品安全法》解读-全面强化危险化学品法治体系建设.pptx VIP
- 彩色数字图像基本.ppt VIP
- 风电场消防安全管理制度.pptx
- 2025年池州职业技术学院单招笔试职业技能考核试题库含答案解析.docx VIP
- 汽车电工电子基础 课件 项目三汽车常用元器件及其检测 .ppt
- 2025年江苏省南通市中考数学试题真题(含答案详解).pdf VIP
- 2025江苏中职职教高考《机电一体化-机械基础》讲义知识考点复习资料.docx VIP
- 13SR425 室外热力管道检查井.docx VIP
原创力文档

文档评论(0)