linux - 如何将命令的连续输出重定向到用 C 编写的程序的输入

标签 linux unix pipe stdout

我正在运行一个名为 argus 的程序,它会嗅探数据包并从每个数据包流中提取一些特征并将它们打印到终端。输出是连续的,直到你终止进程才会停止。

我正在尝试将此输出重定向到用 c 编写的程序。我想对从嗅探程序获得的每一行执行一组测试。

如何重定向嗅探程序的连续输出并将其输入到处理程序?

最佳答案

在你的程序中读取标准输入。

然后使用 shell 管道将一个命令的标准输出重定向到另一个命令的输入:

sniffer | ./your_program

关于linux - 如何将命令的连续输出重定向到用 C 编写的程序的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50025837/

相关文章:

linux - 为 busybox 构建选择正确的内核头文件

linux - qemu 臂 qemu : uncaught target signal 11 (Segmentation fault) - core dumped

linux - pcmanfm-qt 自定义操作中的多个命令?

c - 为什么我的程序不能正确接受另一个程序的管道输出?

c++ - Linux 中 C++ 的 UDP Socket 编程

regex - 多行 grep 正则表达式不起作用

c - 使用 2 个 FIFO 的客户端-服务器 ipc 消息中的 kill() 函数问题

java相当于unix cut

python - 安排自动化 shell 脚本不以 ROOT 身​​份运行

c - 如何将大量数据写入C中的管道中