1
LD_PRELOADに関する問題が発生します。HPUXとSolarisのLD_PRELOADが有効にならない場合があります。
HPUXとSolarisでLD_PRELOADを使用すると、open64/open/creat64/creat関数を/ usr/bin/touchに付加できないことがわかりましたが、unlinkは/ usr/bin/rm、どうして?
私は簡単なテストを行ういる:私はこれを行うとき
int open(int fd, int flag, mode_t mode)
{
return -1;
}
int open64(int fd, int flag, mode_t mode)
{
return -1;
}
int creat(int fd, mode_t mode)
{
return -1;
}
int creat64(int fd, mode_t mode)
{
return -1;
}
を、私が見つかりました:通常、私は、ファイルを開くことはできませんが、タッチはそれを行うことができます!
なぜ!私はこれに長い間困惑していたのですか?私の下手な英語
あなたが確信している、そのタッチは、レコード生成()関数を使用していますか? – Chris
はい。 'truss -o touch.log touch testfile'というコマンドは、creat64関数を使ってファイルを作成していることを教えてくれました。 – littletiny
シェルの組み込み 'touch'コマンドではなく、'/usr/bin/touch'を実行していることを確認してください。 –