В качестве возможного решения предлагается следующая прога:
#include <unistd.h>
#include <fcntl.h>
int main(){
int i=open("/dev/fb0",O_RDONLY);//Пишем из фреймбуфера
int o=open("/dev/fd0",O_WRONLY);//На дискету
static const unsigned s=0x400;
char c[s];
read(0,c,1);//Wait for enter
sleep(5);//Time to switch to other vt
for(;;){
int res=read(i,c,s);
if (res<=0) break;
write(o,c,res);
}
return 0;
}
Запускаю прогу на одном терминале, делаю rm -rf / на другом, после завершения переключаюсь на первый, жму Enter, переключаюсь на тот с которого будет скрин и жду результата...
Вопрос: я правильно понимаю, что если файл удалён после открытия программой, то программа может с ним корректно работать дальше?
Версия rm, установленная в системе ещё поддерживает возможность удаления /
Виртуальную машину или chroot не предлагать :)
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Gharik
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Как изменить максимальное число открытых файлов ? (2006)
- Форум FIFO,write,read (2017)
- Форум Системный вызов sendfile ??? (2008)
- Форум /det/ttyACM0 -> /dev/ttyGS0 (2010)
- Форум Не получается написать прогу (2010)
- Форум Случайные числа и /dev/urandom (2005)
- Форум Именованные каналы в Linux . Передача данных между процессами (2014)
- Форум Почему программа продолжает работать, несмотря на EOF (2010)
- Форум Чтение выхлопа процесса без ожидания его завершения (2019)
- Форум Не работает условие !EOF. (2004)