我需要写入一个正在执行的可执行文件,但我无法打开它进行写入。例如:
#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;
}
% unname -rs FreeBSD 8.0-稳定版 % ./example_ETTXTBSY 文本文件忙
有一些解释在 Linux 中 ETXTBSY 到底是什么,但是,是否有可能覆盖这个错误?
PS
我不是想写病毒。