GDB は CLI を使用してデバッグ対象と通信しません。ptraceシステムコール/APIを使用します。
CLI は「コマンドライン インターフェイス」を意味します。プロセス間の通信の最も単純な形式はstdin/stdoutです。これは、パイプによって実現されます。例えば:
ps -ef | grep 'httpd'
の標準出力ps(プロセス リストになります) は の標準入力に接続され、grepプロセス リストの出力を 1 行ずつ処理します。
両方のプログラムを作成していますか、それとも既存のプロセスと通信したいですか? コンテキストがないと、「show total_messages_processed」が何を意味するのかわかりません。
プログラムに何らかのステータスを伝えさせたいだけの場合は、次のようなアプローチが適していddます。プロセスにSIGUSR1シグナルを送信すると、現在の統計情報がダンプされ、stderr処理が続行されます。
$ dd if=/dev/zero of=/dev/null&
[1] 19716
$ pid=$!
$ kill -usr1 $pid
$ 10838746+0 records in
10838746+0 records out
5549437952 bytes (5.5 GB) copied, 9.8995 s, 561 MB/s