#include #include #include // Cat a file with indefinite blocking in case the file is deleted. int main(int argc, char *argv[]) { if(argc < 2) return 1; FILE *in = fopen(argv[1], "r"); if(in) { while(1) { unsigned char buffer[1]; int bytes_read = fread(buffer, 1, 1, in); if(bytes_read > 0) { fwrite(buffer, 1, 1, stdout); } else { fflush(stdout); usleep(100000); } } } }