実行中の実行可能ファイルに書き込む必要がありますが、書き込み用に開くことができません。例えば:
#include <stdio.h>
#include <fcntl.h>
int main(int argc, char **argv)
{
int fd = open(argv[0], O_RDWR);
if (fd == -1) perror(NULL);
return 0;
}
% uname -rs FreeBSD 8.0-STABLE % ./example_ETXTBSY テキスト ファイルがビジーです
Linux の ETXTBSY とは一体何なのか、いくつかの説明がありますが、それでも、このエラーを無効にすることは可能ですか?
PS
ウイルスを書き込もうとしているわけではありません。