我在 Ubuntu 14.04(64 位)中使用 OpenShot 版本 1.4.3。
这是我的系统详细信息:
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
我在 Ubuntu 14.04 上打开了 openshot 来编辑我的视频。但是当我尝试使用kill
(也尝试过 pkill)命令关闭它时,什么也没发生。当我尝试使用命令关闭其他已安装的应用程序时,它们都按预期正常工作kill
。
我甚至尝试过kill
,sudo
但是没用。
为什么
kill
不可以在 Openshot 上运行?Ubuntu 的 Openshot 实现中是否存在导致该问题的已知错误?
更新 :
正如有人在评论中提到的那样,kill -9
运行正常。但为什么不 kill
工作呢?
kill
有人可能会认为它是和命令的重复kill -9
。但我的问题不是如何杀死 openshot。
我的问题是为什么 kill 无法在 Ubuntu 上用于 openshot?因此,在将我的此内容标记为重复之前,请确保这一点。
具体来说,为什么 OpenShots 无法正常使用 kill?是它的实现本身就是这样还是因为有什么 bug?
答案1
发生这种情况时,请使用“毫不留情”选项kill
:
kill -9 5772
5772
您要终止的应用程序的 pid 在哪里?
或者你可以使用以下命令通过进程名称终止进程:
pkill openshot
或者稍微复杂一点的方法。找到 pid 并在一行中将其杀死
pidof openshot | xargs kill -9
答案2
kill
发送一个信号到目标进程。进程可以抓住信号并处理它们,除了SIGKILL
和SIGSTOP
信号。如果一个进程收到一个它不准备处理的信号,它就会死亡。如果它处理了信号,那么进程就不能保证会死亡——它可以为所欲为。换句话说,一个简单的方法kill <pid>
不能保证杀死进程。
在这种情况下,OpenShot 可能正在处理SIGTERM
,即发送的默认信号kill
。由于SIGKILL
无法处理 ,因此使用(与或kill -9
相同),OpenShot 被终止。kill -KILL
kill -SIGKILL
然而,如果可能的话,kill -9
不应该被使用。它没有给进程清理的机会,因此可能会导致数据丢失/损坏。kill
首先尝试普通,如果它在合理的时间间隔后没有死机,那么才尝试kill -9
/ kill -KILL
。