Коли я хочу вбити процес через System Monitor, мені представлені два швидкі способи, Kill Process і End Process. Яка різниця між цими двома?
Коли я хочу вбити процес через System Monitor, мені представлені два швидкі способи, Kill Process і End Process. Яка різниця між цими двома?
Відповіді:
Згідно з посібником із системного монітора, ви зазвичай повинні використовувати "Завершити процес", і лише якщо це не вдасться використовувати "Убити процес":
Зазвичай ви припиняєте процес лише в тому випадку, якщо не можете нормально закінчити процес, як описано в Закінчення процесу.
На технічному рівні це змушує мене думати, що кінцевий процес надсилає SIGQUIT, який дозволяє процесу затримувати та виконувати очищення, якщо це потрібно, але якщо це не вдається, Kill Process повинен надіслати SIGKILL, який повинен насильно припинити процес, без шансів на відновлення. Використовуйте економно!
Мені теж було цікаво, тому я просто переглянув вихідний код і знайшов нижче в application.cpp . У цьому коді є більше, але я думаю, що вони співвідносяться з параметрами, принаймні для System Monitor 3.8.2.1 до 3.19.3:
Дивіться це питання на Quora про сигнали SIGINT, SIGTERM, SIGKILL і SIGSTOP, щоб отримати чітке пояснення щодо всіх сигналів "знищити / вийти / вимкнути" та їх відмінностей.