Почему команда 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,
