同じ名前の書き込み可能な汎用ファイルがある場合、コアダンプファイルは生成されませんか? [閉鎖]

同じ名前の書き込み可能な汎用ファイルがある場合、コアダンプファイルは生成されませんか? [閉鎖]

コアマンページ(5)コアダンプファイルが生成されない理由の1つは次のとおりです。

コアダンプに使用されているのと同じ名前の(書き込み可能、​​一般)ファイルがすでに存在しますが、そのファイルへの複数のハードリンクがあります。

同じ名前の既存のファイルへの書き込みが可能であれば、上書きできるという意味ですか?

ハードリンク数はコアダンプファイルの生成にどのような影響を与えますか?

core次の例では、コアダンプで上書きされないように、他のハードリンクなしでファイルを作成します。

$ ls
$ touch core
$ ls -l
total 0
-rw-rw-r-- 1 t t 0 Dec  3 06:01 core

$ # wait for a minute
$ bash -c "ulimit -c -S; ulimit -S -c 1024; ulimit -c -S; sleep 10"
0
1024
^\bash: line 1:  4071 Quit                    (core dumped) sleep 10
$ ls -l
total 0
-rw-rw-r-- 1 t t 0 Dec  3 06:01 core

一般的に、コアダンプが含まれていない場合は、複数のハードリンクがあっても上書きを防ぐことはできません。他人を混同しないように):

$ ls
test
$ ln test testhl
$ ls -la
total 28
drwxrwxr-x 4 t t 4096 Dec  2 11:29 .
drwxrwxr-x 6 t t 4096 Dec  2 07:49 ..
-rw-rw-r-- 2 t t    4 Nov 26 10:21 test
-rw-rw-r-- 2 t t    4 Nov 26 10:21 testhl
$ echo hello > testhl
$ ls -la
total 28
drwxrwxr-x 4 t t 4096 Dec  2 11:29 .
drwxrwxr-x 6 t t 4096 Dec  2 07:49 ..
-rw-rw-r-- 2 t t    6 Dec  2 11:30 test
-rw-rw-r-- 2 t t    6 Dec  2 11:30 testhl
$ cat test
hello

ありがとうございます。

ベストアンサー1

同じ名前の既存のファイルへの書き込みが可能であれば、上書きできるという意味ですか?

はい、それは書き込み可能であることを意味します。

ハードリンク数がコアダンプファイルの生成にどのような影響を与えますか?うまく機能し、次の場合はコアダンプは含まれません。これは混乱の原因でした(他の人を混同しないためにここにあります)。

答えはあなたが言及した引用符に含まれています。

コアダンプに使用されているのと同じ名前の(書き込み可能、​​一般)ファイルがすでに存在します。しかし、ファイルに複数のハードリンクがあります。

これは、次の2つの条件が満たされるとコアファイルが生成されないことを意味します。

  1. 生成するコアファイルと同じ名前(通常は)を持つファイルがcoreすでに存在し、書き込み可能です。

そして

  1. このファイルには、そのファイルを指す複数のハードリンクがあります。

はい。ハードリンクの数はある程度重要です。マンページは、ファイルに複数のハードリンクがある場合、コアファイルが生成されないことを示しています。

おすすめ記事