'\" t .TH "COREDUMPCTL" "1" "" "systemd 261.2" "coredumpctl" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" coredumpctl \- بازیابی و پردازش گزارشهای تخلیه حافظه هسته .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBcoredumpctl\fR\ 'u \fBcoredumpctl\fR [OPTIONS...] {COMMAND} [PID|COMM|EXE|MATCH...] .SH "توضیحات (DESCRIPTION)" .PP \fBcoredumpctl\fR ابزاری است که می‌تواند برای بازیابی و پردازش تخلیه‌های حافظه (core dump) و فراداده‌هایی که توسط \fBsystemd-coredump\fR(8) ذخیره شده‌اند به کار رود\&. .SH "دستورات (COMMANDS)" .PP دستورات زیر پشتیبانی می‌شوند: .PP \fBlist\fR .RS 4 تخلیه‌های حافظه ثبت‌شده در ژورنال را که با مشخصات تعیین‌شده مطابقت دارند فهرست می‌کند\&. اگر هیچ دستوری مشخص نشود، این حالت پیش‌فرض ضمنی است\&. .sp خروجی به گونه‌ای طراحی شده که برای انسان خوانا باشد و شامل جدولی با ستون‌های زیر است: .PP TIME .RS 4 برچسب زمانی خرابی (crash)، همان‌طور که توسط کرنل گزارش شده است\&. .sp افزوده شده در نسخه 233\&. .RE .PP PID .RS 4 شناسه پردازشی که دچار خرابی شده است\&. .sp افزوده شده در نسخه 233\&. .RE .PP UID, GID .RS 4 شناسه‌های کاربر و گروه پردازشی که دچار خرابی شده است\&. .sp افزوده شده در نسخه 233\&. .RE .PP SIGNAL .RS 4 سیگنالی که در صورت وجود، موجب خرابی پردازش شده است\&. .sp افزوده شده در نسخه 233\&. .RE .PP COREFILE .RS 4 اطلاعاتی درباره این که آیا تخلیه حافظه ذخیره شده است یا خیر، و اینکه آیا هنوز قابل دسترسی است: "none" به این معنی است که تخلیه حافظه ذخیره نشده است، "\-" به این معنی است که در دسترس نبوده است (برای نمونه به این دلیل که پردازش با یک سیگنال خاتمه نیافته است)، "present" به این معنی است که پرونده تخلیه حافظه توسط کاربر فعلی قابل دسترسی است، "journal" به این معنی است که تخلیه حافظه در "journal" ذخیره شده است، "truncated" مشابه یکی از دو حالت قبلی است، اما تخلیه حافظه بیش از حد بزرگ بوده و به طور کامل ذخیره نشده است، "error" به این معنی است که پرونده تخلیه حافظه قابل دسترسی نیست، به احتمال زیاد به دلیل مجوزهای ناکافی، و "missing" به این معنی است که تخلیه حافظه در یک پرونده ذخیره شده بود، اما این پرونده از آن زمان حذف شده است\&. .sp افزوده شده در نسخه 233\&. .RE .PP EXE .RS 4 مسیر کامل به فایل اجرایی\&. برای ردگیری پشته (backtrace) اسکریپت‌ها، این نام مفسر است\&. .sp افزوده شده در نسخه 233\&. .RE .sp شایان ذکر است که محدودیت‌های متفاوتی بر روی داده‌های ذخیره‌شده در ژورنال و پرونده‌های تخلیه حافظه ذخیره‌شده در /var/lib/systemd/coredump اعمال می‌شود، نمای کلی را در \fBsystemd-coredump\fR(8) ببینید\&. بنابراین کاملاً ممکن است که یک تخلیه حافظه خاص همچنان در ژورنال فهرست شده باشد در حالی که پرونده تخلیه حافظه متناظر با آن قبلاً حذف شده است\&. .sp افزوده شده در نسخه 215\&. .RE .PP \fBinfo\fR .RS 4 اطلاعات تفصیلی درباره آخرین تخلیه حافظه یا تخلیه‌های حافظه منطبق با مشخصات تعیین‌شده ثبت‌شده در ژورنال را نمایش می‌دهد\&. .sp افزوده شده در نسخه 215\&. .RE .PP \fBdump\fR .RS 4 آخرین تخلیه حافظه منطبق با مشخصات تعیین‌شده را استخراج می‌کند\&. تخلیه حافظه روی خروجی استاندارد نوشته خواهد شد، مگر اینکه یک فایل خروجی با \fB\-\-output=\fR مشخص شده باشد\&. .sp افزوده شده در نسخه 215\&. .RE .PP \fBdebug\fR .RS 4 یک اشکال‌زدا (debugger) را روی آخرین تخلیه حافظه منطبق با مشخصات تعیین‌شده فراخوانی می‌کند\&. به‌طور پیش‌فرض، \fBgdb\fR(1) به کار خواهد رفت\&. این مورد را می‌توان با استفاده از گزینه \fB\-\-debugger=\fR یا متغیر محیطی \fI$SYSTEMD_DEBUGGER\fR تغییر داد\&. از گزینه \fB\-\-debugger\-arguments=\fR برای ارسال آرگومان‌های خط فرمان اضافی به اشکال‌زدا استفاده کنید\&. .sp افزوده شده در نسخه 239\&. .RE .SH "گزینهها (OPTIONS)" .PP گزینه‌های زیر پشتیبانی می‌شوند: .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 یک متن راهنمای کوتاه را چاپ کرده و خارج می‌شود\&. .RE .PP \fB\-\-version\fR .RS 4 یک رشته نسخه کوتاه را چاپ کرده و خارج می‌شود\&. .RE .PP \fB\-\-no\-pager\fR .RS 4 خروجی را به یک صفحه‌بند (pager) هدایت نمی‌کند\&. .RE .PP \fB\-\-no\-legend\fR .RS 4 راهنما (legend)، یعنی سرستون‌ها و پاورقی حاوی نکات راهنما را چاپ نمی‌کند\&. .RE .PP \fB\-\-json=\fR\fB\fIMODE\fR\fR .RS 4 خروجی را قالب‌بندی‌شده به صورت JSON نمایش می‌دهد\&. یکی از موارد زیر را می‌پذیرد: "short" (برای کوتاه‌ترین خروجی ممکن بدون هیچ فاصله یا شکست خط اضافی)، "pretty" (برای نسخه‌ای خواناتر از همان خروجی، همراه با فاصله‌گذاری و شکست خط) یا "off" (برای خاموش کردن خروجی JSON، که حالت پیش‌فرض است)\&. .RE .PP \fB\-1\fR .RS 4 تنها اطلاعات جدیدترین تخلیه حافظه را نمایش می‌دهد، به جای اینکه تمام تخلیه‌های حافظه شناخته‌شده را فهرست کند\&. معادل با \fB\-\-reverse \-n 1\fR\&. .sp افزوده شده در نسخه 215\&. .RE .PP \fB\-n\fR \fIINT\fR .RS 4 حداکثر تعداد مدخل‌های مشخص‌شده را نمایش می‌دهد\&. پارامتر مشخص‌شده باید یک عدد صحیح بزرگ‌تر یا مساوی با 1 باشد\&. .sp افزوده شده در نسخه 248\&. .RE .PP \fB\-S\fR, \fB\-\-since\fR .RS 4 تنها مدخل‌هایی را چاپ می‌کند که پس از تاریخ مشخص‌شده هستند\&. .sp افزوده شده در نسخه 233\&. .RE .PP \fB\-U\fR, \fB\-\-until\fR .RS 4 تنها مدخل‌هایی را چاپ می‌کند که تا پیش از تاریخ مشخص‌شده هستند\&. .sp افزوده شده در نسخه 233\&. .RE .PP \fB\-r\fR, \fB\-\-reverse\fR .RS 4 خروجی را معکوس می‌کند تا جدیدترین مدخل‌ها اول نمایش داده شوند\&. .sp افزوده شده در نسخه 233\&. .RE .PP \fB\-F\fR \fIFIELD\fR, \fB\-\-field=\fR\fB\fIFIELD\fR\fR .RS 4 تمام مقادیر ممکن داده‌ای را که فیلد مشخص‌شده در مدخل‌های تطبیق‌یافته تخلیه حافظه در ژورنال به خود می‌گیرد، چاپ می‌کند\&. .sp افزوده شده در نسخه 215\&. .RE .PP \fB\-o\fR \fIFILE\fR, \fB\-\-output=\fR\fB\fIFILE\fR\fR .RS 4 تخلیه حافظه را در \fBFILE\fR می‌نویسد\&. .sp افزوده شده در نسخه 215\&. .RE .PP \fB\-\-debugger=\fR\fB\fIDEBUGGER\fR\fR .RS 4 از اشکال‌زدای داده‌شده برای دستور \fBdebug\fR استفاده می‌کند\&. اگر داده نشود و \fI$SYSTEMD_DEBUGGER\fR تنظیم نشده باشد، آنگاه \fBgdb\fR(1) استفاده خواهد شد\&. .sp افزوده شده در نسخه 239\&. .RE .PP \fB\-A\fR \fIARGS\fR, \fB\-\-debugger\-arguments=\fR\fB\fIARGS\fR\fR .RS 4 مقادیر \fIARGS\fR مشخص‌شده را به عنوان آرگومان‌های خط فرمان اضافی به اشکال‌زدا ارسال می‌کند\&. در صورتی که \fIARGS\fR حاوی فاصله خالی باشد، آن را به درستی در نقل‌قول قرار دهید\&. (بخش مثال‌ها را ببینید\&.) .sp افزوده شده در نسخه 248\&. .RE .PP \fB\-\-file=\fR\fB\fIGLOB\fR\fR .RS 4 یک الگوی فایل (file glob) را به عنوان آرگومان می‌پذیرد\&. در صورت تعیین، coredumpctl بر روی پرونده‌های ژورنال مشخص‌شده منطبق با \fIGLOB\fR به جای مسیرهای پیش‌فرض ژورنال سیستمی و زمان اجرا عمل خواهد کرد\&. می‌تواند چندین بار مشخص شود، که در این صورت پرونده‌ها به طور مناسب درهم‌آمیخته (interleaved) خواهند شد\&. .sp افزوده شده در نسخه 246\&. .RE .PP \fB\-D\fR \fIDIR\fR, \fB\-\-directory=\fR\fB\fIDIR\fR\fR .RS 4 از پرونده‌های ژورنال در پوشه مشخص‌شده \fBDIR\fR استفاده می‌کند\&. .sp افزوده شده در نسخه 225\&. .RE .PP \fB\-\-root=\fR\fB\fIROOT\fR\fR .RS 4 از دایرکتوری ریشه \fBROOT\fR هنگام جستجو برای تخلیه‌های حافظه استفاده می‌کند\&. .sp افزوده شده در نسخه 252\&. .RE .PP \fB\-\-image=\fR\fB\fIimage\fR\fR .RS 4 مسیری به یک پرونده ایمیج دیسک یا گره دستگاه بلوکی (block device node) را می‌پذیرد\&. در صورت تعیین، تمامی عملیات بر روی سیستم فایل موجود در ایمیج دیسک اشاره‌شده اعمال می‌شود\&. این گزینه شبیه به \fB\-\-root=\fR، اما روی سیستم‌فایل‌های ذخیره‌شده در ایمیج‌های دیسک یا دستگاه‌های بلوکی عمل می‌کند\&. ایمیج دیسک باید یا فقط شامل یک سیستم فایل باشد یا مجموعه‌ای از سیستم فایل‌ها در یک جدول پارتیشن GPT بر اساس \m[blue]\fBUAPI\&.2 Discoverable Partitions Specification\fR\m[]\&\s-2\u[1]\d\s+2\&. برای اطلاعات بیشتر درباره ایمیج‌های دیسک پشتیبانی‌شده، سوئیچ هم‌نام \fBsystemd-nspawn\fR(1) را ببینید\&. .sp افزوده شده در نسخه 252\&. .RE .PP \fB\-\-image\-policy=\fR\fB\fIpolicy\fR\fR .RS 4 یک رشته خط‌مشی ایمیج را طبق \fBsystemd.image-policy\fR(7) به عنوان آرگومان می‌پذیرد\&. این خط‌مشی هنگام کار با ایمیج دیسک مشخص‌شده از طریق \fB\-\-image=\fR اعمال می‌شود، بالا را ببینید\&. اگر مشخص نشود، پیش‌فرض آن خط‌مشی "*" است، یعنی تمام سیستم فایل‌های شناسایی‌شده در ایمیج استفاده می‌شوند\&. .RE .PP \fB\-q\fR, \fB\-\-quiet\fR .RS 4 پیام‌های اطلاعاتی درباره عدم دسترسی به پرونده‌های ژورنال و تخلیه‌های حافظه احتمالی در حال انجام (in\-flight) را سرکوب می‌کند\&. .sp افزوده شده در نسخه 233\&. .RE .PP \fB\-\-all\fR .RS 4 تمام پرونده‌های ژورنال موجود در /var/log/journal/ (به استثنای فضاهای نام ژورنال) را به جای تنها پرونده‌های محلی بررسی می‌کند\&. .sp افزوده شده در نسخه 250\&. .RE .SH "تطبیق (MATCHING)" .PP یک تطبیق می‌تواند یکی از موارد زیر باشد: .PP \fIPID\fR .RS 4 شناسه پردازش (PID) پردازشی که حافظه آن تخلیه شده است\&. یک عدد صحیح است\&. .sp افزوده شده در نسخه 215\&. .RE .PP \fICOMM\fR .RS 4 نام فایل اجرایی (منطبق با \fBCOREDUMP_COMM=\fR)\&. نباید شامل اسلش باشد\&. .sp افزوده شده در نسخه 215\&. .RE .PP \fIEXE\fR .RS 4 مسیر فایل اجرایی (منطبق با \fBCOREDUMP_EXE=\fR)\&. باید حداقل شامل یک اسلش باشد\&. .sp افزوده شده در نسخه 215\&. .RE .PP \fIMATCH\fR .RS 4 فیلتر تطبیق عمومی journalctl، باید شامل یک علامت مساوی ("=") باشد\&. به \fBjournalctl\fR(1) مراجعه کنید\&. .sp افزوده شده در نسخه 215\&. .RE .SH "کدهای خروج (EXIT STATUS)" .PP در صورت موفقیت، 0 برگردانده می‌شود؛ در غیر این صورت، یک کد شکست غیر صفر برگردانده می‌شود\&. پیدا نشدن هیچ تخلیه حافظه منطبقی به عنوان شکست تلقی می‌شود\&. .SH "محیط (ENVIRONMENT)" .PP \fI$SYSTEMD_DEBUGGER\fR .RS 4 استفاده از اشکال‌زدای داده‌شده برای دستور \fBdebug\fR\&. گزینه \fB\-\-debugger=\fR را ببینید\&. .sp افزوده شده در نسخه 239\&. .RE .SH "مثال‌ها (EXAMPLES)" .PP \fBمثال\ \&1.\ \&فهرست کردن تمام تخلیه‌های حافظه یک برنامه\fR .sp .if n \{\ .RS 4 .\} .nf $ 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 .fi .if n \{\ .RE .\} .PP ژورنال شامل سه مدخل مربوط به /usr/lib64/firefox/firefox است، و تنها آخرین مدخل هنوز دارای یک پرونده تخلیه حافظه در دسترس است (در فضای ذخیره‌سازی خارجی روی دیسک)\&. .PP توجه داشته باشید که coredumpctl برای بازیابی مدخل‌های مربوطه از ژورنال نیاز به دسترسی به پرونده‌های ژورنال دارد\&. بنابراین، یک کاربر غیرممتاز معمولاً فقط اطلاعات مربوط به برنامه‌های دچار خرابی‌شدهٔ همان کاربر را می‌بیند\&. .PP \fBمثال\ \&2.\ \&فراخوانی gdb روی آخرین تخلیه حافظه\fR .sp .if n \{\ .RS 4 .\} .nf $ coredumpctl debug .fi .if n \{\ .RE .\} .PP \fBمثال\ \&3.\ \&استفاده از gdb برای نمایش اطلاعات کامل ثبات‌ها از آخرین تخلیه حافظه\fR .sp .if n \{\ .RS 4 .\} .nf $ coredumpctl debug \-\-debugger\-arguments="\-batch \-ex \*(Aqinfo all\-registers\*(Aq" .fi .if n \{\ .RE .\} .PP \fBمثال\ \&4.\ \&نمایش اطلاعات درباره یک تخلیه حافظه منطبق‌شده با PID\fR .sp .if n \{\ .RS 4 .\} .nf $ 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 $\*(Aqkill \-SEGV $$\*(Aq 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) .fi .if n \{\ .RE .\} .PP \fBمثال\ \&5.\ \&استخراج آخرین تخلیه حافظه /usr/bin/bar در فایلی با نام bar\&.coredump\fR .sp .if n \{\ .RS 4 .\} .nf $ coredumpctl \-o bar\&.coredump dump /usr/bin/bar .fi .if n \{\ .RE .\} .SH "همچنین ببینید (SEE ALSO)" .PP \fBsystemd-coredump\fR(8), \fBcoredump.conf\fR(5), \fBsystemd-journald.service\fR(8), \fBgdb\fR(1) .SH "یادداشت‌ها (NOTES)" .IP " 1." 4 UAPI.2 Discoverable Partitions Specification .RS 4 \%https://uapi-group.org/specifications/specs/discoverable_partitions_specification .RE