没有响应的 gedit

没有响应的 gedit

我正在gedit从命令窗口运行以编辑 xml 文件。编辑文件后,我关闭了gedit文本编辑器窗口。

但该gedit进程仍在命令窗口中运行。所以我使用ctrl+强制停止了它z

之后我想使用gedit打开另一个文件。无论我尝试多久,gedit xxxx.xmlgedit没有反应。

有人能帮我解释一下为什么它没有响应吗?该如何处理?

答案1

查找 gedit 的 PID

有两种方法可以找到 PID gedit

  • 打开终端,输入例如ps -x(您也可以使用top,,htop...)

    在此处输入图片描述

    这里,我们可以看到我的geditPID 是 16694(它在左边第一列)

  • 使用pgrep,你不必连接2个命令(ps+ grep):

     pgrep gedit
    

    此命令返回gedit


强制关闭 gedit

使用命令kill -9 PID,其中 PID 是你用 找到的数字ps -x。在我的例子中,geditPID 是 16694,所以我必须输入kill -9 16694

您现在可以重新启动gedit,无响应状态已完全消失。

注意:即使在使用或选项kill打开的程序中命令仍然有效。&nohup

NB-2:如果您正在运行某些应用程序,可能很难找到 PID,因此只需添加一个grep命令即可找到它:

ps -x | grep gedit

答案2

Ctrl+Z表示暂停进程,因此进程继续运行,但看起来已冻结。它不会像Ctrl+那样被终止C

处理终端中暂停的进程基本上有四种选择:

  • fg %<job>继续在前台运行
  • bg %<job>让它继续在后台运行(这样你就可以发出进一步的命令)
  • kill %<job>正常终止该过程
  • kill -9 %<job>强制终止该进程(可能导致未保存的更改等)

<job>将被替换为方括号中 shell 给出的作业号(1如下例所示):

$ sleep 30
^Z
[1]+  Stopped                 sleep 30
$ kill %1
$ # (enter any command or just press Enter to refresh the shell)
[1]+  Terminated              sleep 30
$

相关内容