有没有办法将数据(例如:int值)从一个进程传递到c?
中的另一个进程根据我的经验,我们可以将信号从一个进程发送到另一个进程。但看起来似乎无法将某些信息与该信号“附加”到另一个进程。
答案 0 :(得分:1)
使用sigqueue
函数,您可以传递一个整数或指针以及一个信号(但请记住,如果信号的目标是另一个进程,则指针将无用,因为不同的进程不会共享地址空间)。
其他一些方法是管道,共享内存(POSIX或SysV样式),文件......
答案 1 :(得分:1)
您可以使用各种可用的进程间通信机制。
使用Google。作为参考,您还可以查看here
答案 2 :(得分:0)
干净,便携,功能强大的方法是使用Socket。
答案 3 :(得分:0)
您可以使用管道来完成此操作。管道的主要目的是在不同进程之间传递数据。
管道是操作系统为进程间通信提供的最简单的机制。管道是两个进程之间的通信缓冲区:它有两个描述符,一个用于编写另一个用于读取。写入和读取操作以FIFO顺序完成(先进先出)。
有两种管道:未命名管道和命名管道(也称为FIFO)。
如果您想要一些示例代码,请转到此处: http://pastebin.com/1W216nyN
答案 4 :(得分:-1)
我认为我们可以在进程之间使用全局变量,但不确定。如果有人试过,请告诉我。如果我们使用包含extern valriable的头文件,我们可以在另一个main()中使用它,这只是一个独立的程序(进程)。但我们必须将两个main()链接在一起执行。