# متوقف کردن فرآیندهای در حال اجرا با استفاده از PID در لینوکس
### مدیریت پیشرفته پردازشها با `kill` و ابزارهای دیگر
گاهی در لینوکس لازم است یک یا چند فرآیند را متوقف کنید—مثلاً اگر برنامهای هنگ کرده یا منابع زیادی مصرف میکند. برای این کار میتوان از **PID** (شناسه فرآیند) و دستورات مختلفی استفاده کرد.
---
## ✅ مرحله اول: یافتن PID
قبل از کشتن یک فرآیند، باید **PID** آن را بدانید. برای این کار میتوانید از یکی از روشهای زیر استفاده کنید:
```bash
ps aux | grep program_name
```
یا:
```bash
pgrep -fl program_name
```
---
## ❌ استفاده از دستور `kill`
```bash
kill PID
```
### مثال:
```bash
kill 1234
```
این دستور یک **سیگنال پیشفرض `SIGTERM` (15)** به فرآیند میفرستد، که به آن میگوید به صورت امن متوقف شود.
---
## 💣 اگر فرآیند با `kill` معمولی متوقف نشد؟
از سیگنال `SIGKILL` (شماره 9) استفاده کنید:
```bash
kill -9 PID
```
### مثال:
```bash
kill -9 1234
```
> این روش فرآیند را فوراً و بدون بازگشت متوقف میکند. با احتیاط استفاده شود.
---
## 🧑🤝🧑 کشتن چند فرآیند همزمان
```bash
kill 1234 5678 91011
```
---
## 🧰 استفاده از `pkill` برای کشتن بر اساس نام
```bash
pkill firefox
```
یا با سیگنال خاص:
```bash
pkill -9 firefox
```
---
## 💻 استفاده از `htop` برای kill گرافیکی
1. اجرای htop:
```bash
htop
```
2. فرآیند را با کلیدهای جهتدار انتخاب کنید
3. کلید `F9` را بزنید
4. نوع سیگنال (مثلاً `9`) را انتخاب کرده و Enter بزنید
---
## 🔄 لیست سیگنالها
برای دیدن لیست سیگنالهای قابل استفاده:
```bash
kill -l
```
مهمترین سیگنالها:
| شماره | نام سیگنال | توضیح |
|-------|-------------|-------|
| `15` | `SIGTERM` | توقف امن (پیشفرض) |
| `9` | `SIGKILL` | توقف فوری و اجباری |
| `1` | `SIGHUP` | بارگذاری مجدد تنظیمات (برای سرویسها) |
---
## 🛑 بررسی وضعیت پس از kill
میتوانید دوباره با `ps` یا `pgrep` بررسی کنید که آیا فرآیند بسته شده یا نه:
```bash
pgrep -fl program_name
```
---
## جمعبندی
| دستور | کاربرد |
|--------|--------|
| `kill PID` | توقف امن یک فرآیند |
| `kill -9 PID` | توقف فوری (اجباری) |
| `pkill name` | توقف با استفاده از نام |
| `htop` | رابط گرافیکی برای مدیریت فرآیندها |