Книга: UNIX — универсальная среда программирования
3.8.61 waitfile.c
3.8.61 waitfile.c
/* waitfile: wait until file stops changing */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
char *progname;
main(argc, argv)
int argc;
char *argv[];
{
int fd;
struct stat stbuf;
time_t old_time = 0;
progname = argv[0];
if (argc < 2)
error("Usage: %s filename [cmd]", progname);
if ((fd = open(argv[1], 0)) == -1)
error("can't open %s", argv[1]);
fstat(fd, &stbuf);
while (stbuf.st_mtime != old_time) {
old_time = stbuf.st_mtime;
sleep(60);
fstat(fd, &stbuf);
}
if (argc == 2) { /* copy file */
execlp("cat", "cat", argv[1], (char*)0);
error("can't execute cat %s", argv[1]);
} else { /* run process */
execvp(argv[2], &argv[2]);
error("can't execute %s", argv[2]);
}
exit(0);
}
#include "error.c"
- 3.8.1 addup1
- 3.8.2. addup2
- 3.8.3 backup
- 3.8.4 backwards
- 3.8.5 badpick.c
- 3.8.6 bundle
- 3.8.7 cal
- 3.8.8 calendar1
- 3.8.9 calendar2
- 3.8.10 calendar3
- 3.8.11 cat0.c
- 3.8.12 checkmail.c
- 3.8.13 checkmail.sh
- 3.8.14 cp.c
- 3.8.15 doctype
- 3.8.16 double
- 3.8.17 efopen.c
- 3.8.18 error.c
- 3.8.19 field1
- 3.8.20 field2
- 3.8.21 fold
- 3.8.22 frequent
- 3.8.23 frequent2
- 3.8.24 get
- 3.8.25 get.с
- 3.8.26 getname
- 3.8.27 idiff.c
- 3.8.28 makefile
- 3.8.29 newer
- 3.8.30 news1
- 3.8.31 news2
- 3.8.32 news3
- 3.8.33 nohup
- 3.8.34 older
- 3.8.35 overwrite1
- 3.8.36 overwrite2
- 3.8.37 overwrite3
- 3.8.38 p1.c
- 3.8.39 p2.c
- 3.8.40 p3.c
- 3.8.41 p4.c
- 3.8.42 pick1
- 3.8.43 pick.c
- 3.8.44 prpages
- 3.8.45 put
- 3.8.46 readslow.c
- 3.8.47 replace
- 3.8.48 signaltest.c
- 3.8.49 spname.c
- 3.8.50 strindex.c
- 3.8.51 sv.c
- 3.8.52 system1.c
- 3.8.53 system.c
- 3.8.54 timeout.c
- 3.8.55 toolong
- 3.8.56 ttyin1.c
- 3.8.57 ttyin2.c
- 3.5.58 vis1.c
- 3.5.59 vis2.c
- 3.8.60 vis3.c
- 3.8.61 waitfile.c
- 3.8.62 watchfor
- 3.8.63 watchwho
- 3.8.64 which1
- 3.8.65 which1.H
- 3.8.66 which2
- 3.8.67 wordfreq
- 3.8.68 zap1
- 3.8.69 zap2
- 3.8.70 zap.c
- 3.8.3 backup
- 3.8.7 cal
- 3.8.8 calendar1
- 3.8.9 calendar2
- 3.8.17 efopen.c
- 3.8.18 error.c
- 3.8.50 strindex.c
- Chapter 5. Kernel Initialization
- Document
- ГЛАВА 3 Внутренняя структура .NET Compact Framework
- 6.3 Native Application Builder (NAB)
- Практическая работа 53. Запуск Access. Работа с объектами базы данных