خطای Proftpd dead but subsys locked چیست؟
سرویس ProFTPD یکی از محبوبترین سرورهای FTP در سیستمهای لینوکسی است که در بسیاری از سرورهای مبتنی بر دایرکت ادمین استفاده میشود. گاهی اوقات هنگامی که سعی میکنید این سرویس را restart کنید، با خطای زیر مواجه میشوید:
Proftpd dead but subsys locked
این خطا به این معناست که پروسه ProFTPD متوقف شده، اما فایل lock آن (/var/lock/subsys/proftpd) هنوز روی دیسک باقی مانده است. سیستم init اسکریپت فکر میکند سرویس در حال اجراست، در حالی که واقعاً down شده. نتیجه: کاربران نمیتوانند از طریق FTP به هاست متصل شوند.
دلایل بروز خطای subsys locked
این خطا معمولاً به یکی از دلایل زیر اتفاق میافتد:
- Crash ناگهانی سرویس: اگر ProFTPD به صورت غیرعادی خاتمه یابد (مثلاً به دلیل کمبود حافظه یا kill شدن با سیگنال SIGKILL)، فایل lock حذف نمیشود.
- Reboot ناقص سرور: در برخی موارد پس از ریبوت، فایل lock از session قبلی باقی میماند.
- تداخل با xinetd: اگر xinetd هم در حال اجرا باشد، میتواند با ProFTPD تداخل ایجاد کند.
- نسخه قدیمی ProFTPD: باگهای نسخههای قدیمی ممکن است این مشکل را تکرار کنند.
روش اول: حذف دستی فایل lock
سادهترین و سریعترین راهحل، متوقف کردن سرویسها، حذف فایل lock و راهاندازی مجدد است. دستورات زیر را به ترتیب در SSH اجرا کنید:
/etc/init.d/proftpd stop
/etc/init.d/xinetd stop
rm -f /var/lock/subsys/proftpd
/etc/init.d/proftpd start
/etc/init.d/xinetd start
پس از اجرای این دستورات، وضعیت سرویس را بررسی کنید:
/etc/init.d/proftpd status
اگر سرویس اجرا شده باشد، پیام proftpd (pid XXXX) is running... نمایش داده میشود.
روش دوم: بازسازی ProFTPD از طریق CustomBuild دایرکت ادمین
اگر روش اول مشکل را برطرف نکرد یا خطا تکرار میشود، احتمالاً نصب ProFTPD آسیب دیده یا نسخه آن قدیمی است. در این حالت باید سرویس را از طریق CustomBuild دایرکت ادمین بازسازی کنید:
cd /usr/local/directadmin/custombuild
./build update
./build proftpd
این دستورات ProFTPD را کاملاً از نو کامپایل و نصب میکنند. پس از اتمام، سرویس را restart کنید:
/etc/init.d/proftpd restart
روش سوم: جایگزینی با Pure-FTPd
اگر مشکل ProFTPD مکرراً تکرار میشود، میتوانید به سرور FTP دیگری مثل Pure-FTPd سوئیچ کنید که در دایرکت ادمین پشتیبانی میشود:
cd /usr/local/directadmin/custombuild
./build set ftpd pure-ftpd
./build update
./build pure-ftpd
جلوگیری از تکرار مشکل
برای جلوگیری از بروز مجدد این خطا، موارد زیر را در نظر بگیرید:
- سرور ProFTPD را با
./build update && ./build proftpdبهروز نگه دارید. - مانیتورینگ مستمر سرویسهای سرور را فعال کنید تا در صورت crash، سرویس خودکار ریستارت شود.
- فضای دیسک و RAM سرور را زیر نظر بگیرید؛ کمبود منابع یکی از دلایل رایج crash سرویسها است.
- لاگهای ProFTPD را در
/var/log/proftpd/proftpd.logبررسی کنید تا علت اصلی crash مشخص شود.
برای اطلاعات بیشتر درباره این خطا میتوانید مقاله رفع خطای Proftpd dead but subsys locked را مطالعه کنید.
🛡️ هاست وردپرس با پشتیبانی فنی تخصصی
مشکلات سرویسهای FTP، میل سرور و سایر سرویسهای هاست را به تیم میهن هاستینگ بسپارید. پشتیبانی ۲۴ ساعته، مانیتورینگ مستمر و راهاندازی سریع.
