Intern
Jarayonni qanday yakunlash mumkin?
sobes.tech AI
AIdan javob
Linuxda jarayonni tugatish uchun kill, pkill yoki killall buyruqlaridan foydalanish mumkin.
1. kill dan foydalanish:
- Jarayonni uning Process IDsi (PID) bilan tugatadi.
- PIDni bilish talab qilinadi.
- Signallar:
SIGTERM(standart, 15): Yumshoq tugatish, jarayonning to'g'ri yopilishiga imkon beradi.SIGKILL(9): Darhol va majburan tugatish, jarayon bu signalni inkor qila olmaydi.
# jarayon PIDini aniqlash
ps aux | grep <jarayon_nomi>
# SIGTERM signali yuborish (standart)
kill <PID>
# SIGKILL signali yuborish
kill -9 <PID>
2. pkill dan foydalanish:
- Jarayonlarni nomi yoki boshqa atributlar bo'yicha tugatadi.
- PIDni bilish shart emas.
- Patternlarni qo'llab-quvvatlaydi.
# 'nginx' nomli barcha jarayonlarni tugatish
pkill nginx
# 'myapp' nomini o'z ichiga olgan barcha jarayonlarni tugatish (katta-kichik harf sezgir)
pkill -i myapp
# 'firefox' nomli jarayonlarga SIGKILL yuborish
pkill -9 firefox
3. killall dan foydalanish:
- Faqat aniq nom bilan jarayonlarni tugatadi.
pkillga qaraganda murakkab patternlarni qo'llab-quvvatlamaydi.
# 'apache2' nomli barcha jarayonlarni tugatish
killall apache2
# 'mysqld' nomli jarayonlarga SIGKILL yuborish
killall -9 mysqld
Boshqaruv tanlovi:
| Buyruq | Tugatish usuli | PID talab qilinadi | Patternlarni qo'llab-quvvatlash |
|---|---|---|---|
kill |
PID bo'yicha | Ha | Yo'q |
pkill |
Nomi yoki atributlar bo'yicha | Yo'q | Ha |
killall |
Aniq nom bo'yicha | Yo'q | Yo'q |
Ko'pgina hollarda, avvalo SIGTERM yordamida jarayonni tugatishni sinash tavsiya etiladi (kill <PID>, pkill <nom>), shunda jarayon ma'lumotlarni saqlash va to'g'ri yopilish imkoniyatiga ega bo'ladi. SIGKILL (kill -9, pkill -9, killall -9) faqat oxirgi chora sifatida, boshqa signallarga javob bermayotgan jarayonlar uchun ishlatilishi kerak.