0
点赞
收藏
分享

微信扫一扫

linux 信号发送

小云晓云 2022-05-02 阅读 31
linux

目录

一回顾

前面列举了 shmctl,shmdt等函数的用法
并且列举了三种删除映射的方法 同时解释了映射的由来。

二 信号发送概念

在这里插入图片描述
在这里插入图片描述

进程A要向内核发送信号 最后进程B接收内核的信号。
但是这里存在两个问题  进程A和进程B都不知道 相互间进行工作了
所以 1 发送信号要选择 2 进程也要选择。 

三 信号发送实例

在这里插入图片描述

kill 函数也是属于系统函数

实现的功能

一个进程 向 一个进程 发送 杀死 信号  
新建 两个进程

hello.c

 #include<stdio.h>

 int main()
 {
    while(1)
    {
        printf("hello world\n");
        sleep(2);
    }

   return 0;
 }

在这里插入图片描述

杀死的格式 ./a.out  sig pig 
 a.out 是可执行文件 可随意改 但前提要有

kill.c

#include<sys/types.h>
#include <signal.h>
#include<stdlib.h>


 int main(int argc,char *argv[])
 {
  int pid;
  int sig;
  
  pid=atoi(argv[2]);
  sig=atoi(argv[1]); 
  
  kill(pid,sig);

   return 0;
 }

ps aux 查看 ./a.out 的pid

在这里插入图片描述

成功!!!
举报

相关推荐

0 条评论