.TH "sattach" "1" "SLURM 2.2" "June 2010" "SLURM Commands"
.SH "NAME"
.LP
sattach \- Attach to a SLURM job step.
.SH "SYNOPSIS"
.LP
sattach [\fIoptions\fP] <jobid.stepid>
.SH "DESCRIPTION"
.LP
sattach attaches to a running SLURM job step.  By attaching, it makes available
the IO streams of all of the tasks of a running SLURM job step.  It also
suitable for use with a parallel debugger like TotalView.

.SH "OPTIONS"
.LP

.TP
\fB\-h\fR, \fB\-\-help\fR
Display help information and exit.

.TP
\fB\-\-input\-filter\fR[=]<\fItask number\fR>
.PD 0
.TP
\fB\-\-output\-filter\fR[=]<\fItask number\fR>
.PD 0
.TP
\fB\-\-error\-filter\fR[=]<\fItask number\fR>
.PD
Only transmit standard input to a single task, or print the standard output
or standard error from a single task.  The filtering is performed locally in
sattach.

.TP
\fB\-l\fR, \fB\-\-label\fR
Prepend each line of task standard output or standard error with the task
number of its origin.

.TP
\fB\-\-layout\fR
Contacts the slurmctld to obtain the task layout information for the job step,
prints the task layout information, and then exits without attaching to the
job step.

.TP
\fB\-\-pty\fR
Execute task zero in pseudo terminal.
Not compatible with the \fB\-\-input\-filter\fR, \fB\-\-output\-filter\fR, or
\fB\-\-error\-filter\fR options.
Notes: The terminal size and resize events are ignored by sattach.
Proper operation requires that the job step be initiated by srun using the
\-\-pty option.
Not currently supported on AIX platforms.

.TP
\fB\-Q\fR, \fB\-\-quiet\fR
Suppress informational messages from sattach. Errors will still be displayed.

.TP
\fB\-u\fR, \fB\-\-usage\fR
Display brief usage message and exit.

.TP
\fB\-V\fR, \fB\-\-version\fR
Display SLURM version number and exit.

.TP
\fB\-v\fR, \fB\-\-verbose\fR
Increase the verbosity of sattach's informational messages.  Multiple \fB\-v\fR's
will further increase sattach's verbosity.

.SH "INPUT ENVIRONMENT VARIABLES"
.PP
Upon startup, salloc will read and handle the options set in the following
environment variables.  Note: Command line options always override environment
variables settings.

.TP 22
\fBSLURM_EXIT_ERROR\fR
Specifies the exit code generated when a SLURM error occurs
(e.g. invalid options).
This can be used by a script to distinguish application exit codes from
various SLURM error conditions.


.SH "EXAMPLES"
.LP
sattach 15.0

sattach \-\-output\-filter 5 65386.15

.SH "COPYING"
Copyright (C) 2006\-2007 The Regents of the University of California.
Copyright (C) 2008\-2009 Lawrence Livermore National Security.
Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
CODE\-OCEC\-09\-009. All rights reserved.
.LP
This file is part of SLURM, a resource management program.
For details, see <http://www.schedmd.com/slurmdocs/>.
.LP
SLURM is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
.LP
SLURM is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
details.

.SH "SEE ALSO"
.LP
\fBsinfo\fR(1), \fBsalloc\fR(1), \fBsbatch\fR(1), \fBsqueue\fR(1),
\fBscancel\fR(1), \fBscontrol\fR(1),
\fBslurm.conf\fR(5), \fBsched_setaffinity\fR (2), \fBnuma\fR (3)
