如何将特殊值返回给父程序
How to return a special value to parent program?
我有一个程序A调用另一个B来做某事。 我希望 B 在到达某个位置时发送信号或其他东西,以便 A 知道。 目前我正在使用一种看似愚蠢的方法:我让 B 打印"REACH",然后在 A 中捕获 B 的所有输出并扫描字符串"REACH"(见下面的代码)。 还有什么其他选择?谢谢
//B, at the desired location
printf("REACHED");
//A
FILE *fin = popen("./B","r");
while(fgets(buff,sizeof(buff),fin)){
string res(buff);
if (res.find("REACH") != string::npos){ //naive way
//got it
}
}
-
共享内存
-
信号
-
写入文件(例如管道或网络连接)
-
使用现有的进程间通信 (IPC) 库
相关文章:
- 为什么我的程序在for循环中k=0时返回垃圾值
- 为什么这个程序返回最后一个单词而不是最长的单词?
- 为什么C++程序在太大时返回代码而不是答案?
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 程序中的布尔函数返回输入的范围无论如何都是无效的
- 为什么我的程序在 O0 和 O2 的优化级别返回不同的结果
- 程序不向函数返回值
- 返回不需要的值的二叉搜索程序
- 为什么这个程序没有打印返回的迭代器的正确第二个元素?
- C ++程序如何返回我的数组或写入全局变量
- bash脚本在使用popen()时不返回代码以调用C ++程序
- 如何使用从处理程序调度的最终回调将响应异步返回给调用方on_read?
- 返回主窗口/ C ++后,应用程序正在关闭
- 将数组作为多线程应用程序中函数的返回传递
- 当if语句告诉程序返回0时,我的程序不会退出
- 同一个程序每次返回不同的输出
- 由于值返回函数中的错误,程序无法编译.它说未声明的标识符
- 此程序不返回任何内容
- 为什么这个C++程序在代码::块和在线 IDE 之间返回不同的结果?
- 类对象的向量C++文件返回程序