کدهای خروج فرایند شل و یونیکس را جستجو کنید — 0 موفقیت، 1/2 خطاها، 126/127/128/255 کدهای ویژهٔ شل، بازهٔ سیگنال مرگ‌بار 128+N (130 SIGINT، 137 SIGKILL، 139 SIGSEGV، 143 SIGTERM) و کدهای sysexits.h در BSD (64–78). جستجو، فیلتر و کپی کنید. در مرورگر، رایگان.

هر کد خروج (بازگشت) استاندارد شل و یونیکس، توضیح‌داده‌شده. همه‌چیز در مرورگر شما از یک مرجع داخلی اجرا می‌شود — چیزی به سرور ارسال نمی‌شود.

کد معنا دسته توضیح
هیچ کد خروجی با جستجوی شما مطابقت ندارد.
یک شماره یا نام دیگر را امتحان کنید — مثلاً 130، SIGSEGV، command not found یا EX_CONFIG.

درباره مرجع کدهای خروج

مرجع کدهای خروج، وضعیت عددی‌ای که یک شل یا فرآیند یونیکس هنگام پایان بازمی‌گرداند را توضیح می‌دهد. کل چشم‌انداز را پوشش می‌دهد: ۰ برای موفقیت، ۱ و ۲ برای خطاهای عمومی، کدهای ویژه شل ۱۲۶ (پیدا شده اما غیرقابل‌اجرا)، ۱۲۷ (دستور پیدا نشد)، ۱۲۸ (آرگومان خروج نامعتبر) و ۲۵۵ (خارج از محدوده)، بازه سیگنال‌های کشنده 128+N، و کدهای sysexits.h نوع BSD یعنی ۶۴ تا ۷۸.

بازه سیگنال جایی است که بیشترین سردرگمی رخ می‌دهد: ۱۳۰ یعنی فرآیند با Ctrl+C (SIGINT) قطع شد، ۱۳۷ یعنی به‌زور کشته شد (SIGKILL؛ اغلب کشتن کمبود حافظه در کانتینرها)، ۱۳۹ یک نقض تقسیم‌بندی (SIGSEGV) است و ۱۴۳ یک خاتمه مؤدبانه (SIGTERM) است. هر ورودی نام سیگنال و آنچه معمولاً آن را برمی‌انگیزد را توضیح می‌دهد.

بر اساس شماره، سیگنال یا نام sysexits، یا معنای ساده جست‌وجو کنید؛ بر اساس دسته فیلتر کنید: Success، General، Shell، Signal یا sysexits.h، و هر کد را با یک کلیک کپی کنید. همه چیز از یک مرجع داخلی در مرورگر شما اجرا می‌شود.

نحوه استفاده از مرجع کدهای خروج

  1. یک کد خروج (137)، یک نام (SIGSEGV، EX_USAGE) یا عبارتی مانند «command not found» را در جعبه جست‌وجو تایپ کنید.
  2. در صورت نیاز بر اساس دسته فیلتر کنید: Success، General، Shell، Signal یا sysexits.h.
  3. معنا و توضیح ورودی را بخوانید؛ ورودی‌های بازه سیگنال نیز سیگنال زیرین را نام می‌برند.
  4. کد را برای یک گزارش باگ، قانون نظارت یا مقایسه اسکریپت کپی کنید.

سوالات متداول

یعنی فرآیند با سیگنال ۹ (SIGKILL) کشته شده، چون ۱۲۸ + ۹ = ۱۳۷. در کانتینرها و محیط‌های محدود، رایج‌ترین علت خاتمه‌دادن فرآیند توسط کشنده کمبود حافظه هسته است.

۱۲۷ یعنی شل اصلاً نتوانست دستور را پیدا کند؛ معمولاً به‌خاطر یک اشتباه تایپی یا مشکل PATH. ۱۲۶ یعنی دستور پیدا شد اما نتوانست اجرا شود، معمولاً چون مجوز اجرا ندارد یا یک فایل قابل‌اجرا نیست.

در bash و دیگر شل‌های POSIX، echo $? بلافاصله بعد از دستور وضعیت خروج آن را چاپ می‌کند. با هر دستوری که اجرا می‌کنید بازنشانی می‌شود، پس پیش از اجرای هر چیز دیگری آن را بخوانید.

یک قرارداد BSD که معانی مشخصی به کدهای آن بازه می‌دهد: برای مثال EX_USAGE (۶۴) برای خطای استفاده از خط فرمان، EX_NOINPUT (۶۶) برای فایل ورودی گم‌شده و EX_CONFIG (۷۸) برای خطای پیکربندی. سیستم‌های ایمیل و برخی ابزارهای خط فرمان هنوز از آن‌ها استفاده می‌کنند.

وضعیت‌های خروج در یک بایت واحد ذخیره می‌شوند، پس هرچیزی بالای ۲۵۵ دور می‌زند؛ خروج ۲۵۶ به‌عنوان ۰ گزارش می‌شود، که مثل موفقیت به نظر می‌رسد. به بازه ۰ تا ۲۵۵ پایبند باشید، و اگر می‌خواهید از برخورد با کدهای رزروشده شل پرهیز کنید، به ۰ تا ۱۲۵.

بله، کاملاً رایگان. کل مرجع در صفحه گنجانده شده و جست‌وجو، فیلتر و کپی بدون هیچ درخواستی به سرور در مرورگر شما رخ می‌دهد.

اشتراک‌گذاری
به کمک نیاز دارید؟
با این ابزار مشکلی پیدا کردید؟ به تیم ما اطلاع دهید.
گزارش مشکل

این ابزار رایگان را به وب‌سایت خود اضافه کنید — کد زیر را کپی و جای‌گذاری کنید.