SNAP(4) SNAP(4)
NAME
snap, snapfs - create and mount process snapshots
SYNOPSIS
snap [ -o file ] pid...
snapfs [ -a ] [ -m mtpt ] [ -s service ] file...
DESCRIPTION
Snap and snapfs allow one to save and restore (static) pro-
cess images, usually for debugging on a different machine or
at a different time.
Snap writes a snapshot (see snap(6)) of the named processes
to file (default standard output). If pid is a text string
rather than a process id, snap will save all processes with
that name that are owned by the current user. Both memory
and text images are saved.
Snapfs is a file server that recreates the /proc directories
for the processes in the snapshot. By default, it mounts
the new directories into /proc before the current entries.
The -m option can be used to specify an alternate mount-
point, while -a will cause it to mount the new directories
after the current entries. The -s option causes it to serve
requests via /srv/service.
EXAMPLE
Suppose 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
snap -o page.snap `{psu | awk '$NF ~ /page|gs/ {print $2}'}
When the author returns, he can add the process images to
his name space by running
snapfs page.snap
and then use a conventional debugger to debug them.
SOURCE
/sys/src/cmd/snap
SEE ALSO
acid(1), db(1), proc(3), snap(6)
BUGS
The snapshots take up about as much disk space as the
Page 1 Plan 9 (printed 11/2/25)
SNAP(4) SNAP(4)
processes they contain did memory. Compressing them when
not in use is recommended, as is storing them on a rewrit-
able disk.
Pid as a non-numeric string is unimplemented; it has to be a
number.
Page 2 Plan 9 (printed 11/2/25)