Почему команда kill не работает в Openshot?
Я использую OpenShot версии 1.4.3 в Ubuntu 14.04 (64 бит).
Вот мои системные детали:
lsb_release -a
:
Distributor ID: Ubuntu
Description: Ubuntu 14.04.4 LTS
Release: 14.04
Codename: trusty
uname -a
:
Linux 4.2.0-30-generic #36~14.04.1-Ubuntu SMP
Fri Feb 26 18:49:23 UTC 2016
x86_64 x86_64 x86_64 GNU/Linux
Я открыл openshot для редактирования моих видео в Ubuntu 14.04. но когда я попытался закрыть его, используя kill
(также пробовал pkill) команда ничего не произошло. Все остальные установленные приложения работают должным образом при попытке закрыть их с помощью kill
команда.
Я даже пытался kill
с sudo
, но бесполезно.
Почему
kill
не работает на Openshot?Есть ли какая-либо известная ошибка, стоящая за этой проблемой в реализации Openshot в Ubuntu?
ОБНОВИТЬ:
Как кто-то упоминал в комментарии, kill -9
работает правильно. но почему нет kill
не работает?
Кто-то может подумать, что это дубликат для kill
а также kill -9
команды. Но мой вопрос не о том, как убить openshot.
Мой вопрос: почему kill не работает для openshot в Ubuntu? Поэтому, пожалуйста, убедитесь, что вы отметили это как дубликат.
В частности, почему OpenShots не работает должным образом с kill? Сама его реализация такова или из-за какой-то ошибки?
2 ответа
Когда это происходит, используйте параметр "не показывать милосердия" для kill
:
kill -9 5772
куда 5772
pid приложения, которое вы хотите убить
Или вы можете убить по имени процесса с помощью:
pkill openshot
Или немного более сложный способ сделать это. Найди пид и убей его одной строкой
pidof openshot | xargs kill -9
kill
отправляет сигнал целевому процессу. Процесс может ловить сигналы и обрабатывать их, кроме SIGKILL
а также SIGSTOP
сигналы. Если процесс получает сигнал, который он не готов обработать, он умирает. Если он обрабатывает сигнал, нет гарантии, что процесс умрет - он может делать все, что захочет. Другими словами, простой kill <pid>
не гарантировано, чтобы убить процесс.
В этом случае OpenShot может обрабатывать SIGTERM
, сигнал по умолчанию, который kill
посылает. поскольку SIGKILL
не может быть обработан, с kill -9
(что так же, как kill -KILL
или же kill -SIGKILL
), OpenShot прекращается.
Однако, где это возможно, kill -9
не должен использоваться. Это не дает процессу возможности очиститься, что может привести к потере / повреждению данных. Попробуйте простую kill
сначала, и если он не умирает через разумный промежуток времени, только потом kill -9
/kill -KILL
,