我运行以下代码失败

sudo killall %4

其中%4是我的Vim会话。

如何在没有前景化的情况下终止工作?

有帮助吗?

解决方案

我相信你想要“杀死”而不是“killall”。我在tcsh下测试过这样:

home% cat
^Z
Suspended
home% kill %1
home% 
[1]    Terminated                    cat

此外,我怀疑这对sudo有用,因为sudo会调用一个新的shell,不是吗?在那个shell中,%4将不会被定义。

home% cat
^Z
Suspended
home% sudo kill %1
Password:
kill: illegal process id: %1

如果你真的需要sudo,你可以试试这个:

home% jobs -l
[1] + 26318 Suspended cat
home% sudo kill 26318

其他提示

尝试 kill%4 。 unix shell使用%x作为当前正在运行的进程的变量。要查看可以与%x语法一起使用的进程,请使用 jobs 。 Killall是一个围绕“杀死”的包装器。这基本上相当于`ps -aux | grep | cut -f2 -d“ " |如果你是一个暴君,你可以杀死xargs等。

不,对不起,那个shell命令不会起作用,但它确实说明了killall如何工作= p。它只会杀死与你提供的字符串相匹配的每个进程。

另外,尝试“杀人”以了解有关杀戮的更多信息。特别是kill -9你可能会觉得有用。它有点像'强行退出'。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top