Sobes.tech
Junior

რისი სიგნალი იგზავნება kill ბრძანების გამოყენებისას: SIGTERM თუ SIGKILL?

sobes.tech AI

პასუხი AI-სგან

kill ბრძანების გამოყენებისას, თუ სიგნალის ნომერი ან სახელი არ არის მითითებული, ავტომატურად იგზავნება SIGTERM სიგნალი.

SIGTERM (დასრულების სიგნალი):

  • ეს არის რბილი დასრულების სიგნალი.
  • ის სთხოვს პროცესს, რომ სწორად დაასრულოს მუშაობა.
  • პროცესი შეუძლია ამ სიგნალის აღება, გაწმენდა (ფაილების დახურვა, მდგომარეობის შენახვა) და შემდეგ დასრულება, ან იგნორირება.

SIGKILL (ძალადობრივი დასრულების სიგნალი):

  • ეს არის "მძიმე" დასრულების სიგნალი.
  • იგი ვერ აღიქმება ან იგნორირებულია პროცესის მიერ.
  • სისტემა დაუყოვნებლივ ასრულებს პროცესს, მის გაწმენდას ვერ აძლევს შესაძლებლობას.

ამიტომ, kill ავტომატურად აგზავნის SIGTERM სიგნალს. SIGKILL-ის გასაგზავნად, მას უნდა მიუთითოთ აშკარად:

# გაგზავნა `SIGTERM` (ნაგულისხმევი)
kill <PID>

# გაგზავნა `SIGKILL`
kill -9 <PID>
# ან
kill -s SIGKILL <PID>