在一个makefile

在一个makefile

我正在使用 Ubuntu 12.04.4 LTS 64 位。我的 LibreOffice 套件(尤其是 Writer)冻结了。

我怎样才能关闭 LibreOffice?我能只关闭 Writer 吗?(不是 Calc、Impress……)

我尝试在系统监视器和命令行()中搜索可执行进程,ps但没有找到。

编辑:我想要这样的东西:

pkill -9 writer

我需要某种缩小命令。

答案1

首先搜索打开的 libreoffice 文件:

ps aux | grep libre

例如我的输出是:

hadi  21426  0.1  0.0 205328  3468 ?        Sl   14:17   0:00 /usr/lib/libreoffice/program/oosplash --writer
hadi  21445  9.8  0.7 1269272 179872 ?      Sl   14:17   0:01 /usr/lib/libreoffice/program/soffice.bin --writer --splash-pipe=6

然后

sudo kill -9 ID

该 ID 是 (soffice.bin) 的第二个数字,而不是 oosplash 的

所以在我的例子中:

sudo kill -9 21445

您需要专业的Ok:

ps aux | grep -i office | awk {'print $2'} | xargs kill -9

希望您的评价是专业的!!

或者更多缩小命令

kill -9 `pgrep -lf soffice.bin | awk {'print $1'}`

或者更多缩小 缩小 缩小命令

pkill soffice.bin

编辑:

所有 libreoffice 打开的文件都采用相同的 PID,为此您不能仅仅杀死 writer 而保留 impess。

为了证明我的观点,Office 中的恢复工具对所有文件都是独一无二的。我的意思是,如果你以不正当的方式关闭了 Writer,然后打开了 Impress,那么 Impress 会要求你恢复 Writer 文件,它确实这样做了,这证明了我的答案

答案2

你应该试试:

killall soffice.bin

答案3

用来ps -e列出所有正在运行的进程(不仅仅是当前终端生成的进程)。然后,您可以搜索要查找的名称(可能是“writer”或“Libre”)。如果您确切知道要查找的名称,您可以使用它ps -e | grep writer仅显示该进程的结果。

您应该会看到一个数字,即进程 ID (PID)。要终止该进程,请输入进程的 PID。您应该会收到一条消息,内容类似于kill x。如果该进程仍在运行,请尝试强制程序退出。xkilled 1 processkill -KILL x

答案4

在一个makefile

在 中makefile,可以使用以下任一方法避免错误消息:

-killall -q oosplash

或者

-@killall oosplash

命令前面的字符killall可以起到这个作用。

然而,更优雅的方式是:

-@wmctrl -c LibreOffice

或者更安全:

-@wmctrl -c filename

相关内容