lttng-destroy(1)
-===============
+================
+:revdate: 12 April 2021
NAME
----
-lttng-destroy - Destroy an LTTng tracing session
+lttng-destroy - Destroy LTTng tracing sessions
SYNOPSIS
--------
[verse]
-*lttng* ['linkgenoptions:(GENERAL OPTIONS)'] *destroy* [option:--all | 'SESSION']
+*lttng* ['linkgenoptions:(GENERAL OPTIONS)'] *destroy* [option:--no-wait] [option:--all | 'SESSION']
DESCRIPTION
-----------
-The `lttng destroy` command destroys one or more tracing sessions.
+The `lttng destroy` command destroys one or more tracing sessions
+previously created with the man:lttng-create(1) command.
-If no options are specified, the current tracing session is destroyed
-(see man:lttng-create(1) for more information about the current
-tracing session).
+``Destroying'' a tracing session means freeing the resources acquired by
+the LTTng daemons and tracers for it, also making sure to flush all the
+recorded trace data to either the local file system or the connected
+LTTng relay daemon (see man:lttng-relayd(8)), depending on the tracing
+session mode.
-If 'SESSION' is specified, the existing tracing session named 'SESSION'
-is destroyed. `lttng list` outputs all the existing tracing sessions
-(see man:lttng-list(1)).
+Use the `destroy` command to destroy:
-If the option:--all option is used, *all* the tracing sessions, as listed
-in the output of `lttng list`, are destroyed.
+With the 'SESSION' argument::
+ The tracing session named 'SESSION'.
-Destroying a tracing session stops any tracing running within the latter.
+With the option:--all option::
+ *All* the tracing sessions of your Unix user,
+ as listed in the output of `lttng list` (see man:lttng-list(1)).
-Destroying a tracing session does not destroy the recorded trace data,
-if any; it frees resources acquired by the session daemon and tracer
-side, making sure to flush all trace data.
+Otherwise::
+ The current tracing session (see man:lttng-create(1) and
+ man:lttng-set-session(1) to learn more about the current tracing
+ session).
++
+In that case, the current tracing session becomes nonexistent.
+
+The `destroy` command stops any tracing activity within the selected
+tracing session(s). By default, the command runs the implicit
+man:lttng-stop(1) command to ensure that the trace data of the tracing
+session(s) is valid before it exits. Make the command exit immediately
+with the option:--no-wait option. In this case, however, the traces(s)
+might not be valid when the command exits, and there's no way to know
+when it/they becomes valid.
+
+If, for a tracing session{nbsp}__TS__ to destroy with the `destroy`
+command, the following statements are true:
+
+* You don't use the option:--no-wait option.
+
+* LTTng archived the current trace chunk (see man:lttng-rotate(1) and
+ man:lttng-enable-rotation(1)) of{nbsp}__TS__ at least once during its
+ lifetime.
+
+Then all the subdirectories of the output directory of{nbsp}__TS__
+(local or remote) are considered trace chunk archives once the `destroy`
+command exits. In other words, it's safe to read them, modify them, move
+them, or remove then.
include::common-cmd-options-head.txt[]
option:-a, option:--all::
- Destroy all tracing sessions.
+ Destroy all the tracing sessions of your Unix user, as listed in the
+ output of man:lttng-list(1).
+
+option:-n, option:--no-wait::
+ Do :not: ensure that the trace data of the tracing session(s) to
+ destroy is valid before exiting.
include::common-cmd-help-options.txt[]
SEE ALSO
--------
+man:lttng(1),
man:lttng-create(1),
-man:lttng-set-session(1),
-man:lttng(1)
+man:lttng-list(1),
+man:lttng-set-session(1)