愿星光伴随你左右


  • 首页

  • todo

  • 思考

  • life

  • food

  • OS

  • lua

  • redis

  • Golang

  • C

  • TCP/IP

  • ebpf

  • p4

  • OpenVPN

  • IPSec

  • L2TP

  • DNS

  • distributed

  • web

  • OpenWRT

  • 运维

  • Git

  • 鸟哥的私房菜

  • IT杂谈

  • 投资

  • About Me

  • 友情链接

  • FTP

  • 搜索
close

Linux进程间通信6 流套接字 socket bind listen accept connect read write close

时间: 2024-04-16   |   分类: c   linux   ipc     |   阅读: 3700 字 ~8分钟

前面说到的进程间的通信,所通信的进程都是在同一台计算机上的,而使用socket进行通信的进程可以是同一台计算机的进程,也是可以是通过网络连接起来的不同计算机上的进程。通常我们使用socket进行网络编程,这里将会简单地讲述如何使用socket进行简单的网络编程。

阅读全文 »

进程间通信5 消息队列 msgget、msgsend、msgrcv、msgctl

时间: 2024-04-16   |   分类: c   linux   ipc     |   阅读: 2928 字 ~6分钟

下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处。有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信 – 使用命名管道

阅读全文 »

进程间通信4 共享内存 shmget shmat shmdt shmctl

时间: 2024-04-16   |   分类: c   linux   ipc     |   阅读: 3645 字 ~8分钟

下面将讲解进程间通信的另一种方式,使用共享内存。

一、什么是共享内存

顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc()分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访问同一段共享内存的任何其他进程。

阅读全文 »

进程间通信3 信号量 semget、semop、semctl

时间: 2024-04-16   |   分类: c   linux   ipc     |   阅读: 3689 字 ~8分钟

这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通信 – 信号。下面就进入信号量的讲解。

阅读全文 »

进程间通信2 有名管道 mkfifo、open、read、close

时间: 2024-04-16   |   分类: c   linux   ipc     |   阅读: 3261 字 ~7分钟

在前一篇文章—— Linux进程间通信 – 使用匿名管道 中,我们看到了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程之间交换数据带来了不方便。这里将会介绍进程的另一种通信方式——命名管道,来解决不相关进程间的通信问题。

阅读全文 »

进程间通信2 匿名管道 popen、pclose、pipe、close、dup、dup2

时间: 2024-04-15   |   分类: c   linux   ipc     |   阅读: 3790 字 ~8分钟

在前面,介绍了一种进程间的通信方式:使用信号,我们创建通知事件,并通过它引起响应,但传递的信息只是一个信号值。这里将介绍另一种进程间通信的方式——匿名管道,通过它进程间可以交换更多有用的数据。

阅读全文 »

进程间通信1 信号 signal、sigaction

时间: 2024-04-15   |   分类: c   linux   ipc     |   阅读: 3719 字 ~8分钟

一、什么是信号

用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。

阅读全文 »

进程间通信1 信号之信号集函数 sigemptyset()、sigprocmask()、sigpending()、sigsuspend()

时间: 2024-04-15   |   分类: c   linux   ipc     |   阅读: 1672 字 ~4分钟

我们已经知道,我们可以通过信号来终止进程,也可以通过信号来在进程间进行通信,程序也可以通过指定信号的关联处理函数来改变信号的默认处理方式,也可以屏蔽某些信号,使其不能传递给进程。那么我们应该如何设定我们需要处理的信号,我们不需要处理哪些信号等问题呢?信号集函数就是帮助我们解决这些问题的。

阅读全文 »
1 2 3 4 5 6 7 8

日志
分类
标签
RSS 订阅
GitHub
© 2009 - 2025
粤ICP备2021068940号-1 粤公网安备44011302003059
0%