プログラムのopenatによって開かれたパスを変更するには、LD_PRELOADを使用します。
プログラムが実際にファイルシステムで開くいくつかのパスにパスを変更したいと思います。その理由は、プログラムを並列に実行したいのですが、そのプログラムはそれを一時ディレクトリ/tmp/somedir/として使用し、並列インスタンスで競合が発生するためです。 私はトリックを実行する素晴らしい答えを見つけました。プロセスの特定のパスを偽造することは可能ですか?。残念ながら、これはcat広告には機能しますが、私のプログラムには機能しません。その理由は、プログラムがC ++ APIを使用しているためだと思います。 再現するために、最初にファイルにいくつかのコンテンツを...