gpt4 book ai didi

c++ - 通过正在运行的 linux C 进程的命令行数据打印

转载 作者:太空狗 更新时间:2023-10-29 11:39:27 27 4
gpt4 key购买 nike

场景如下(尚无可用代码): Linux 进程在 while(1) 循环中永远运行。该过程在 C/C++ (POSIX) 中实现。该过程将一些数据保存到 std::vector 中。

myvector.push_back("test1");
myvector.push_back("test1");
myvector.pop_back();
myvector.push_back("test1");

进程运行并修改 vector 。我正在寻找一种在使用特定命令行参数执行二进制文件时打印 vector 值的机制。

假设名为“myprocess”的进程正在运行。我想从 ./myprocess -debug 等新 shell 执行相同的二进制文件并打印 STL 容器的值。

有什么想法吗?最好的机制是什么(即打印另一个进程的内存)

最佳答案

通常,您不会“打印另一个进程的内存”。你所做的是向另一个进程发送一个信号,要求它打印出 vector 的内容。

为此,您可以使用 POSIX signal (例如 SIGUSR1)。

一个更灵活的方法是让进程监听命名管道(或 TCP 端口)并通过它接受命令。一个这样的命令可能是打印出 vector 的内容。

关于c++ - 通过正在运行的 linux C 进程的命令行数据打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8385911/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com