]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/coredumpctl.xml
man: fix link markup
[thirdparty/systemd.git] / man / coredumpctl.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4 <!-- SPDX-License-Identifier: LGPL-2.1+ -->
5
6 <refentry id="coredumpctl" conditional='ENABLE_COREDUMP'
7 xmlns:xi="http://www.w3.org/2001/XInclude">
8
9 <refentryinfo>
10 <title>coredumpctl</title>
11 <productname>systemd</productname>
12 </refentryinfo>
13
14 <refmeta>
15 <refentrytitle>coredumpctl</refentrytitle>
16 <manvolnum>1</manvolnum>
17 </refmeta>
18
19 <refnamediv>
20 <refname>coredumpctl</refname>
21 <refpurpose>Retrieve and process saved core dumps and metadata</refpurpose>
22 </refnamediv>
23
24 <refsynopsisdiv>
25 <cmdsynopsis>
26 <command>coredumpctl</command>
27 <arg choice="opt" rep="repeat">OPTIONS</arg>
28 <arg choice="req">COMMAND</arg>
29 <arg choice="opt" rep="repeat">PID|COMM|EXE|MATCH</arg>
30 </cmdsynopsis>
31 </refsynopsisdiv>
32
33 <refsect1>
34 <title>Description</title>
35
36 <para><command>coredumpctl</command> is a tool that can be used to retrieve and process core
37 dumps and metadata which were saved by
38 <citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
39 </para>
40 </refsect1>
41
42 <refsect1>
43 <title>Commands</title>
44
45 <para>The following commands are understood:</para>
46
47 <variablelist>
48 <varlistentry>
49 <term><command>list</command></term>
50
51 <listitem><para>List core dumps captured in the journal
52 matching specified characteristics. If no command is
53 specified, this is the implied default.</para>
54
55 <para>The output is designed to be human readable and contains a table with the following
56 columns:</para>
57 <variablelist>
58 <varlistentry>
59 <term>TIME</term>
60 <listitem><para>The timestamp of the crash, as reported by the kernel.</para>
61 </listitem>
62 </varlistentry>
63
64 <varlistentry>
65 <term>PID</term>
66 <listitem><para>The identifier of the process that crashed.</para>
67 </listitem>
68 </varlistentry>
69
70 <varlistentry>
71 <term>UID</term>
72 <term>GID</term>
73 <listitem><para>The user and group identifiers of the process that crashed.</para>
74 </listitem>
75 </varlistentry>
76
77 <varlistentry>
78 <term>SIGNAL</term>
79 <listitem><para>The signal that caused the process to crash, when applicable.
80 </para></listitem>
81 </varlistentry>
82
83 <varlistentry>
84 <term>COREFILE</term>
85 <listitem><para>Information whether the coredump was stored, and whether
86 it is still accessible: <literal>none</literal> means the core was
87 not stored, <literal>-</literal> means that it was not available (for
88 example because the process was not terminated by a signal),
89 <literal>present</literal> means that the core file is accessible by the
90 current user, <literal>journal</literal> means that the core was stored
91 in the <literal>journal</literal>, <literal>truncated</literal> is the
92 same as one of the previous two, but the core was too large and was not
93 stored in its entirety, <literal>error</literal> means that the core file
94 cannot be accessed, most likely because of insufficient permissions, and
95 <literal>missing</literal> means that the core was stored in a file, but
96 this file has since been removed.</para></listitem>
97 </varlistentry>
98
99 <varlistentry>
100 <term>EXE</term>
101 <listitem><para>The full path to the executable. For backtraces of scripts
102 this is the name of the interpreter.</para></listitem>
103 </varlistentry>
104 </variablelist>
105
106 <para>It's worth noting that different restrictions apply to
107 data saved in the journal and core dump files saved in
108 <filename>/var/lib/systemd/coredump</filename>, see overview in
109 <citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
110 Thus it may very well happen that a particular core dump is still listed
111 in the journal while its corresponding core dump file has already been
112 removed.</para></listitem>
113 </varlistentry>
114
115 <varlistentry>
116 <term><command>info</command></term>
117
118 <listitem><para>Show detailed information about the last core dump
119 or core dumps matching specified characteristics
120 captured in the journal.</para></listitem>
121 </varlistentry>
122
123 <varlistentry>
124 <term><command>dump</command></term>
125
126 <listitem><para>Extract the last core dump matching specified
127 characteristics. The core dump will be written on standard
128 output, unless an output file is specified with
129 <option>--output=</option>. </para></listitem>
130 </varlistentry>
131
132 <varlistentry>
133 <term><command>debug</command></term>
134
135 <listitem><para>Invoke a debugger on the last core dump
136 matching specified characteristics. By default,
137 <citerefentry project='man-pages'><refentrytitle>gdb</refentrytitle><manvolnum>1</manvolnum></citerefentry>
138 will be used. This may be changed using the <option>--debugger=</option>
139 option or the <varname>$SYSTEMD_DEBUGGER</varname> environment
140 variable.</para></listitem>
141 </varlistentry>
142
143 </variablelist>
144
145 </refsect1>
146
147 <refsect1>
148 <title>Options</title>
149
150 <para>The following options are understood:</para>
151
152 <variablelist>
153
154 <xi:include href="standard-options.xml" xpointer="help" />
155 <xi:include href="standard-options.xml" xpointer="version" />
156
157 <varlistentry>
158 <term><option>--no-legend</option></term>
159
160 <listitem><para>Do not print column headers.</para></listitem>
161 </varlistentry>
162
163 <xi:include href="standard-options.xml" xpointer="no-pager" />
164
165 <varlistentry>
166 <term><option>-1</option></term>
167
168 <listitem><para>Show information of a single core dump only, instead of listing
169 all known core dumps.</para></listitem>
170 </varlistentry>
171
172 <varlistentry>
173 <term><option>-S</option></term>
174 <term><option>--since</option></term>
175
176 <listitem><para>Only print entries which are since the specified date.</para></listitem>
177 </varlistentry>
178
179 <varlistentry>
180 <term><option>-U</option></term>
181 <term><option>--until</option></term>
182
183 <listitem><para>Only print entries which are until the specified date.</para></listitem>
184 </varlistentry>
185
186 <varlistentry>
187 <term><option>-r</option></term>
188 <term><option>--reverse</option></term>
189
190 <listitem><para>Reverse output so that the newest entries are displayed first.
191 </para></listitem>
192 </varlistentry>
193
194 <varlistentry>
195 <term><option>-F</option> <replaceable>FIELD</replaceable></term>
196 <term><option>--field=</option><replaceable>FIELD</replaceable></term>
197
198 <listitem><para>Print all possible data values the specified
199 field takes in matching core dump entries of the
200 journal.</para></listitem>
201 </varlistentry>
202
203 <varlistentry>
204 <term><option>-o</option> <replaceable>FILE</replaceable></term>
205 <term><option>--output=</option><replaceable>FILE</replaceable></term>
206
207 <listitem><para>Write the core to <option>FILE</option>.
208 </para></listitem>
209 </varlistentry>
210
211 <varlistentry>
212 <term><option>--debugger=</option><replaceable>DEBUGGER</replaceable></term>
213
214 <listitem><para>Use the given debugger for the <command>debug</command>
215 command. If not given and <varname>$SYSTEMD_DEBUGGER</varname> is unset, then
216 <citerefentry project='man-pages'><refentrytitle>gdb</refentrytitle><manvolnum>1</manvolnum></citerefentry>
217 will be used. </para></listitem>
218 </varlistentry>
219
220 <varlistentry>
221 <term><option>--file=<replaceable>GLOB</replaceable></option></term>
222
223 <listitem><para>Takes a file glob as an argument. If
224 specified, coredumpctl will operate on the specified journal
225 files matching <replaceable>GLOB</replaceable> instead of the
226 default runtime and system journal paths. May be specified
227 multiple times, in which case files will be suitably
228 interleaved.</para></listitem>
229 </varlistentry>
230
231 <varlistentry>
232 <term><option>-D</option> <replaceable>DIR</replaceable></term>
233 <term><option>--directory=</option><replaceable>DIR</replaceable></term>
234
235 <listitem><para>Use the journal files in the specified <option>DIR</option>.
236 </para></listitem>
237 </varlistentry>
238
239 <varlistentry>
240 <term><option>-q</option></term>
241 <term><option>--quiet</option></term>
242
243 <listitem><para>Suppresses informational messages about lack
244 of access to journal files and possible in-flight coredumps.
245 </para></listitem>
246 </varlistentry>
247 </variablelist>
248 </refsect1>
249
250 <refsect1>
251 <title>Matching</title>
252
253 <para>A match can be:</para>
254
255 <variablelist>
256 <varlistentry>
257 <term><replaceable>PID</replaceable></term>
258
259 <listitem><para>Process ID of the
260 process that dumped
261 core. An integer.</para></listitem>
262 </varlistentry>
263
264 <varlistentry>
265 <term><replaceable>COMM</replaceable></term>
266
267 <listitem><para>Name of the executable (matches
268 <option>COREDUMP_COMM=</option>). Must not contain slashes.
269 </para></listitem>
270 </varlistentry>
271
272 <varlistentry>
273 <term><replaceable>EXE</replaceable></term>
274
275 <listitem><para>Path to the executable (matches
276 <option>COREDUMP_EXE=</option>). Must contain at least one
277 slash. </para></listitem>
278 </varlistentry>
279
280 <varlistentry>
281 <term><replaceable>MATCH</replaceable></term>
282
283 <listitem><para>General journalctl match filter, must contain an equals
284 sign (<literal>=</literal>). See
285 <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
286 </para></listitem>
287 </varlistentry>
288 </variablelist>
289 </refsect1>
290
291 <refsect1>
292 <title>Exit status</title>
293 <para>On success, 0 is returned; otherwise, a non-zero failure
294 code is returned. Not finding any matching core dumps is treated as
295 failure.
296 </para>
297 </refsect1>
298
299 <refsect1>
300 <title>Environment</title>
301
302 <variablelist class='environment-variables'>
303 <varlistentry>
304 <term><varname>$SYSTEMD_DEBUGGER</varname></term>
305 <listitem><para>Use the given debugger for the <command>debug</command>
306 command. See the <option>--debugger=</option> option.</para></listitem>
307 </varlistentry>
308 </variablelist>
309 </refsect1>
310
311 <refsect1>
312 <title>Examples</title>
313
314 <example>
315 <title>List all the core dumps of a program named foo</title>
316
317 <programlisting># coredumpctl list foo</programlisting>
318 </example>
319
320 <example>
321 <title>Invoke gdb on the last core dump</title>
322
323 <programlisting># coredumpctl debug</programlisting>
324 </example>
325
326 <example>
327 <title>Show information about a process that dumped core,
328 matching by its PID 6654</title>
329
330 <programlisting># coredumpctl info 6654</programlisting>
331 </example>
332
333 <example>
334 <title>Extract the last core dump of /usr/bin/bar to a file named
335 <filename index="false">bar.coredump</filename></title>
336
337 <programlisting># coredumpctl -o bar.coredump dump /usr/bin/bar</programlisting>
338 </example>
339 </refsect1>
340
341 <refsect1>
342 <title>See Also</title>
343 <para>
344 <citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
345 <citerefentry><refentrytitle>coredump.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
346 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
347 <citerefentry project='man-pages'><refentrytitle>gdb</refentrytitle><manvolnum>1</manvolnum></citerefentry>
348 </para>
349 </refsect1>
350
351 </refentry>