現在、バックグラウンド スレッド (PTHREAD_DETACHED) を作成してから pthread_exit(0) を呼び出すマルチスレッド プログラム (pthreads を使用) を使用しています。私の問題は、プロセスが「無効」としてリストされ、不思議なことに /proc に「実際に存在する」ように見えないことです(これは私のデバッグ戦略を無効にします)
以下の要件を満たすことを希望します。
- プログラムは関数 A をループで実行し、関数 B を 1 回実行する必要があります
- プログラムの PID /proc/$pid/exe、/proc/$pid/maps、および /proc/$pid/fd にアクセスできる必要があります (プロセスが機能していない場合、それらはすべて空または無効なリンクです)。
- 通常どおり CTRL+C と CTRL+Z でプログラムを一時停止/中断できる必要があります
編集:「メイン」スレッドにAを、生成されたスレッドにBを配置するためにプログラムのインターフェースを変更することをためらっています(現在、それらは逆になっています)。それは問題を解決しますか?