計画された目標を達成するために、いくつかの外部バイナリを使用して C プログラムを作成しています。1 つのコマンドを実行して出力を得る必要があり、その出力を処理してから、別のプログラムに入力としてフィードする必要があります。popen を使用していますが、代わりに KornShell (ksh) 一時ファイルを使用するのと同じでしょうか。
例えば:
touch myfile && chmod 700
cat myfile > /tmp/tempfile
process_file < /tmp/tempfile && rm /tmp/tempfile
これにより、ルートで読み取り可能な一時ファイルが作成されるため、パイプもファイルであることを知って、Cで popen を使用した場合と同じでしょうか? それとも、オペレーティング システム (OS) が他のプロセスによるパイプの読み取りを許可しないと想定しても安全でしょうか?