توقف کانتینرها
دستور kill برای ارسال سیگنالهای POSIX به یک کانتینر استفاده میشود. بهصورت پیشفرض سیگنال SIGKILL (9) ارسال میشود که باعث توقف فوری کانتینر میشود. همچنین میتوانید فقط پردازشهای داخل کانتینر را بدون متوقفکردن خود کانتینر خاتمه دهید.
🧩 دستور کلی
k3 container kill [options] <containerId> [signal]
containerId: شناسه کانتینری که قصد ارسال سیگنال به آن دارید.signal: (اختیاری) نام یا شماره سیگنالی که میخواهید ارسال کنید (پیشفرض: SIGKILL).
⚙️ گزینهها (Options)
| گزینه کوتاه | گزینه بلند | توضیح |
|---|---|---|
-t | --time <seconds> | مدت زمان انتظار قبل از ارسال سیگنال (بر حسب ثانیه) |
-a | --all | فقط تمام پردازشهای داخل کانتینر را متوقف کن، کانتینر باقی میماند |
-h | --help | نمایش راهنمای کامل دستور |
📥 مثالهای کاربردی
✅ ارسال سیگنال پیشفرض (SIGKILL) به یک کانتینر:
k3 container kill 08a79d22
✅ ارسال سیگنال مشخص (مثلاً SIGTERM) به یک کانتینر:
k3 container kill 08a79d22 SIGTERM
✅ ارسال سیگنال با تأخیر 5 ثانیه:
k3 container kill --time 5 08a79d22
✅ متوقفکردن تمام پردازشهای داخل کانتینر بدون توقف خود کانتینر:
k3 container kill --all 08a79d22
نکات مهم
اگر سیگنال مشخص نکنید، سیگنال پیشفرض SIGKILL (شماره 9) ارسال میشود.
اگر از گزینه --all استفاده کنید، فقط پردازشهای داخل کانتینر متوقف میشوند و خود کانتینر فعال باقی میماند.
گزینه --time برای زمانی مناسب است که میخواهید قبل از ارسال سیگنال، مدت زمانی صبر شود.
تست جامع
#!/bin/bash
echo "Starting k3 container kill tests..."
echo "[1] Sending default signal (SIGKILL) to container 08a79d22"
sudo k3 container kill 08a79d22
echo
echo "[2] Sending SIGTERM to container 08a79d22"
sudo k3 container kill 08a79d22 SIGTERM
echo
echo "[3] Sending signal to container 08a79d22 with 5-second delay"
sudo k3 container kill --time 5 08a79d22
echo
echo "[4] Killing all processes inside container 08a79d22 without stopping it"
sudo k3 container kill --all 08a79d22
echo
echo "All kill tests completed."
🆘 دریافت راهنما
برای مشاهدهی راهنمای کامل این دستور در خط فرمان:
k3 container kill -h