Sobes.tech
Intern

Как да завърша процеса?

sobes.tech AI

Отговор от AI

За да прекратите процес в Linux, можете да използвате командите kill, pkill или killall.

1. Използване на kill:

  • Завършва процес по неговия Process ID (PID).
  • Изисква да знаете PID.
  • Сигнали:
    • SIGTERM (по подразбиране, 15): Меко прекратяване, позволява на процеса да се затвори правилно.
    • SIGKILL (9): Незабавно и принудително прекратяване, процесът не може да игнорира този сигнал.
# намерете PID на процеса
ps aux | grep <име_на_процеса>

# изпратете сигнал SIGTERM (по подразбиране)
kill <PID>

# изпратете сигнал SIGKILL
kill -9 <PID>

2. Използване на pkill:

  • Завършва процеси по името или други атрибути.
  • Не изисква да знаете PID.
  • Поддържа шаблони.
# завършете всички процеси с името 'nginx'
pkill nginx

# завършете всички процеси, съдържащи 'myapp' в името (чувствително към големи/малки букви)
pkill -i myapp

# изпратете сигнал SIGKILL към процеси с името 'firefox'
pkill -9 firefox

3. Използване на killall:

  • Завършва процеси само по точното им име.
  • Не поддържа сложни шаблони, за разлика от pkill.
# завършете всички процеси с точното име 'apache2'
killall apache2

# изпратете сигнал SIGKILL към процеси с точното име 'mysqld'
killall -9 mysqld

Избор на команда:

Команда Метод за прекратяване Изисква PID Поддръжка на шаблони
kill По PID Да Не
pkill По име/атрибути Не Да
killall По точно име Не Не

В повечето случаи се препоръчва първо да опитате да прекратите процеса с SIGTERM (kill <PID>, pkill <име>), за да му дадете възможност да запази данните и да се затвори правилно. SIGKILL (kill -9, pkill -9, killall -9) трябва да се използва само като крайна мярка, когато процесът не реагира на други сигнали.