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) უნდა გამოიყენოს მხოლოდ როგორც ბოლო საშუალება, როდესაც სხვა სიგნალებს არ რეაგირებს.