Почему команда 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, но бесполезно.

  1. Почему kill не работает на Openshot?

  2. Есть ли какая-либо известная ошибка, стоящая за этой проблемой в реализации 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,

Другие вопросы по тегам