我有两个可执行文件,其来源如下:
main_a.c
#include "stdio.h"
int main() {
printf("start to copy\n");
system("cp -pRf ~/main_b main_b");
system("cp -pRf ~/main_a main_a");
printf("done\n");
}
main_b.c
#include "stdio.h"
int main() {
while (1) {
printf("i'm b, i'm running\n");
}
}
gcc -o main_a main_a.c gcc -o main_b main_b.c
然后我把main_a和main_b放在~和~/test中。
我在 ~/test 中 cd,像这样在后台运行 main_b
./main_b 1>/dev/null &
并在前台运行 main_a 链接
./main_a; 睡眠 100
稍等一下,拔掉电源,然后重新启动,我得到两个大小为零且 ~/test 中没有内容的文件。
有人知道为什么吗?
PS:为确保文件已被替换,我在两个小时前触摸~/test/main_a 和~/test/main_b 观看,然后拔掉电源。
touch -d "2 小时前" ~/test/*