| COREDUMPCTL(1) | coredumpctl | COREDUMPCTL(1) |
نام (NAME)
coredumpctl - بازیابی و پردازش گزارشهای تخلیه حافظه هسته
خلاصه دستور (SYNOPSIS)
coredumpctl [OPTIONS...] {COMMAND} [PID|COMM|EXE|MATCH...]
توضیحات (DESCRIPTION)
coredumpctl ابزاری است که میتواند برای بازیابی و پردازش تخلیههای حافظه (core dump) و فرادادههایی که توسط systemd-coredump(8) ذخیره شدهاند به کار رود.
دستورات (COMMANDS)
دستورات زیر پشتیبانی میشوند:
list
خروجی به گونهای طراحی شده که برای انسان خوانا باشد و شامل جدولی با ستونهای زیر است:
TIME
افزوده شده در نسخه 233.
PID
افزوده شده در نسخه 233.
UID, GID
افزوده شده در نسخه 233.
SIGNAL
افزوده شده در نسخه 233.
COREFILE
افزوده شده در نسخه 233.
EXE
افزوده شده در نسخه 233.
شایان ذکر است که محدودیتهای متفاوتی بر روی دادههای ذخیرهشده در ژورنال و پروندههای تخلیه حافظه ذخیرهشده در /var/lib/systemd/coredump اعمال میشود، نمای کلی را در systemd-coredump(8) ببینید. بنابراین کاملاً ممکن است که یک تخلیه حافظه خاص همچنان در ژورنال فهرست شده باشد در حالی که پرونده تخلیه حافظه متناظر با آن قبلاً حذف شده است.
افزوده شده در نسخه 215.
info
افزوده شده در نسخه 215.
dump
افزوده شده در نسخه 215.
debug
افزوده شده در نسخه 239.
گزینهها (OPTIONS)
گزینههای زیر پشتیبانی میشوند:
-h, --help
--version
--no-pager
--no-legend
--json=MODE
-1
افزوده شده در نسخه 215.
-n INT
افزوده شده در نسخه 248.
-S, --since
افزوده شده در نسخه 233.
-U, --until
افزوده شده در نسخه 233.
-r, --reverse
افزوده شده در نسخه 233.
-F FIELD, --field=FIELD
افزوده شده در نسخه 215.
-o FILE, --output=FILE
افزوده شده در نسخه 215.
--debugger=DEBUGGER
افزوده شده در نسخه 239.
-A ARGS, --debugger-arguments=ARGS
افزوده شده در نسخه 248.
--file=GLOB
افزوده شده در نسخه 246.
-D DIR, --directory=DIR
افزوده شده در نسخه 225.
--root=ROOT
افزوده شده در نسخه 252.
--image=image
افزوده شده در نسخه 252.
--image-policy=policy
-q, --quiet
افزوده شده در نسخه 233.
--all
افزوده شده در نسخه 250.
تطبیق (MATCHING)
یک تطبیق میتواند یکی از موارد زیر باشد:
PID
افزوده شده در نسخه 215.
COMM
افزوده شده در نسخه 215.
EXE
افزوده شده در نسخه 215.
MATCH
افزوده شده در نسخه 215.
کدهای خروج (EXIT STATUS)
در صورت موفقیت، 0 برگردانده میشود؛ در غیر این صورت، یک کد شکست غیر صفر برگردانده میشود. پیدا نشدن هیچ تخلیه حافظه منطبقی به عنوان شکست تلقی میشود.
محیط (ENVIRONMENT)
$SYSTEMD_DEBUGGER
افزوده شده در نسخه 239.
مثالها (EXAMPLES)
مثال 1. فهرست کردن تمام تخلیههای حافظه یک برنامه
$ coredumpctl list /usr/lib64/firefox/firefox TIME PID UID GID SIG COREFILE EXE SIZE Tue ... 8018 1000 1000 SIGSEGV missing /usr/lib64/firefox/firefox - Wed ... 251609 1000 1000 SIGTRAP missing /usr/lib64/firefox/firefox - Fri ... 552351 1000 1000 SIGSEGV present /usr/lib64/firefox/firefox 28.7M
ژورنال شامل سه مدخل مربوط به /usr/lib64/firefox/firefox است، و تنها آخرین مدخل هنوز دارای یک پرونده تخلیه حافظه در دسترس است (در فضای ذخیرهسازی خارجی روی دیسک).
توجه داشته باشید که coredumpctl برای بازیابی مدخلهای مربوطه از ژورنال نیاز به دسترسی به پروندههای ژورنال دارد. بنابراین، یک کاربر غیرممتاز معمولاً فقط اطلاعات مربوط به برنامههای دچار خرابیشدهٔ همان کاربر را میبیند.
مثال 2. فراخوانی gdb روی آخرین تخلیه حافظه
$ coredumpctl debug
مثال 3. استفاده از gdb برای نمایش اطلاعات کامل ثباتها از آخرین تخلیه حافظه
$ coredumpctl debug --debugger-arguments="-batch -ex 'info all-registers'"
مثال 4. نمایش اطلاعات درباره یک تخلیه حافظه منطبقشده با PID
$ coredumpctl info 6654
PID: 6654 (bash)
UID: 1000 (user)
GID: 1000 (user)
Signal: 11 (SEGV)
Timestamp: Mon 2021-01-01 00:00:01 CET (20s ago)
Command Line: bash -c $'kill -SEGV $$'
Executable: /usr/bin/bash
Control Group: /user.slice/user-1000.slice/...
Unit: user@1000.service
User Unit: vte-spawn-....scope
Slice: user-1000.slice
Owner UID: 1000 (user)
Boot ID: ...
Machine ID: ...
Hostname: ...
Storage: /var/lib/systemd/coredump/core.bash.1000.....zst (present)
Size on Disk: 51.7K
Message: Process 130414 (bash) of user 1000 dumped core.
Stack trace of thread 130414:
#0 0x00007f398142358b kill (libc.so.6 + 0x3d58b)
#1 0x0000558c2c7fda09 kill_builtin (bash + 0xb1a09)
#2 0x0000558c2c79dc59 execute_builtin.lto_priv.0 (bash + 0x51c59)
#3 0x0000558c2c79709c execute_simple_command (bash + 0x4b09c)
#4 0x0000558c2c798408 execute_command_internal (bash + 0x4c408)
#5 0x0000558c2c7f6bdc parse_and_execute (bash + 0xaabdc)
#6 0x0000558c2c85415c run_one_command.isra.0 (bash + 0x10815c)
#7 0x0000558c2c77d040 main (bash + 0x31040)
#8 0x00007f398140db75 __libc_start_main (libc.so.6 + 0x27b75)
#9 0x0000558c2c77dd1e _start (bash + 0x31d1e)
مثال 5. استخراج آخرین تخلیه حافظه /usr/bin/bar در فایلی با نام bar.coredump
$ coredumpctl -o bar.coredump dump /usr/bin/bar
همچنین ببینید (SEE ALSO)
systemd-coredump(8), coredump.conf(5), systemd-journald.service(8), gdb(1)
یادداشتها (NOTES)
- 1.
- UAPI.2 Discoverable Partitions Specification
| systemd 261.2 |