123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- .TH SNAP 4
- .SH NAME
- snap, snapfs \- create and mount process snapshots
- .SH SYNOPSIS
- .B snap
- [
- .B -o
- .I file
- ]
- .I pid...
- .PP
- .B snapfs
- [
- .B -a
- ]
- [
- .B -m
- .I mtpt
- ]
- [
- .B -s
- .I service
- ]
- .I file...
- .SH DESCRIPTION
- .I Snap
- and
- .I snapfs
- allow one to save and restore (static) process images,
- usually for debugging
- on a different machine or at a different time.
- .PP
- .I Snap
- writes a snapshot
- (see
- .IR snap (6))
- of the named processes to
- .I file
- (default standard output).
- If
- .I pid
- is a text string
- rather than a process id,
- .I snap
- will save all processes with
- that name that
- are owned by the current user.
- Both memory and text images are saved.
- .PP
- .I Snapfs
- is a file server that
- recreates the
- .B /proc
- directories for the processes in the snapshot.
- By default, it mounts the new directories
- into
- .B /proc
- before the current entries.
- The
- .B -m
- option can be used to specify
- an alternate mountpoint,
- while
- .B -a
- will cause it to mount the new directories
- after the current entries.
- The
- .B -s
- option causes it to serve requests via
- .BI /srv/ service.
- .SH EXAMPLE
- Suppose
- .I page
- has hung viewing Postscript on your terminal, but the author is gone for the rest of
- the month and you want to make sure the process
- is still around for debugging on his return.
- You can save the errant processes with
- .IP
- .EX
- snap -o page.snap `{psu | awk '$NF ~ /page|gs/ {print $2}'}
- .EE
- .PP
- When the author returns, he can add the process images to his name space
- by running
- .IP
- .EX
- snapfs page.snap
- .EE
- .PP
- and then use a conventional
- debugger to debug them.
- .SH SOURCE
- .B /sys/src/cmd/snap
- .SH SEE ALSO
- .IR acid (1),
- .IR db (1),
- .IR proc (3),
- .IR snap (6)
- .SH BUGS
- The snapshots take up about as much disk space
- as the processes they contain did memory.
- Compressing them when not in use is recommended,
- as is storing them on a rewritable disk.
- .PP
- .I Pid
- as a non-numeric string is unimplemented; it has to be a number.
|