如何使用命令行杀死程序

每个人都知道如何使用Windows 中的任务管理器(Task Manager)OS X中的(OS X)强制退出(Windows or Force Quit)来终止程序,但有时使用命令行(command line)终止程序很有用。我遇到过几种情况,程序拒绝通过Task Manager结束,即使我试图杀死底层进程也是如此。Force Quit有它自己的怪癖,并不总是像它应该的那样杀死一个程序。那时您可以使用命令行(command line)的强大功能。

在本文中,我将介绍在WindowsOS X 和 Linux(OS X and Linux)中杀死程序的命令。有趣的是,通常有不止一个命令可以完成此操作,因此我将尝试提及我使用过的不同命令。这不是一个详尽的列表,因此如果您使用此处未提及的其他命令,请在评论中告知我们。

Windows – TSKILL 和 TASKKILL

Windows中,您可以使用两个命令来终止程序:TSKILL 和 TASKKILL(TSKILL and TASKKILL)TSKILL是一个更简单且功能较弱的命令,但可以很好地完成工作。例如,如果您正在运行Microsoft Word,则进程名称(process name)为 winword.exe。要从命令行(command line)中杀死Word,只需键入以下命令:

tskill winword

这将杀死Word,您将丢失任何未保存的数据,因此您必须小心使用它。我在一个未保存的Word 文档(Word doc)上尝试了它,当我运行它时它就消失了,没有提示保存文档。这对于我要在这里提到的所有命令来说都是如此,因为这就是重点。您可以毫无疑问地立即终止程序。

茨基尔

需要注意的一点是,在使用此命令的大多数情况下,它与 /A 参数一起使用。/A 告诉命令结束在所有会话下运行的进程。因此,通常您会键入以下命令以确保进程被终止:

tskill /A winword

第二个命令是TASKKILL(TASKKILL),它有更多的选项和更强大的功能。如果您查看 TASKKILL 的帮助页面(TASKKILL)(help page)您会明白我的意思:

任务杀戮

如果您想在Windows中对终止程序有更多控制和选项(control and options),请使用TASKKILL。对于初学者,您可以使用以下命令终止程序:

taskkill /F /IM winword.exe

请注意,使用TASKKILL 命令(TASKKILL command)时必须使用 .EXE 。/F 表示强制终止进程。/IM 表示映像名称(image name),即进程名称(process name)。如果要使用进程 ID ( PID ) 终止,则必须使用 / PID而不是 /IM。/T 很棒,因为它会杀死指定进程启动的所有子进程。

您还可以使用TASKKILL远程连接到另一个系统并终止该远程系统上的进程。我还喜欢在TASKKILL中使用通配符的能力。

OS X/Linux – KILL 和 KILLALL

OS X 和 Linux(OS X and Linux)中,您有两个用于杀死进程的命令:KILL 和 KILLALL(KILL and KILLALL)。您必须在终端窗口(terminal window)中运行这些。为了杀死一个程序,您必须使用程序名称(program name)或进程 ID。有一些方法可以找到这些信息。一种方法是通过Activity Monitor

活动监视器

但是,这需要GUI 界面(GUI interface)。如果您使用命令行(command line)来终止进程,您也可以使用命令行(command line)来查找进程信息(process info)。想到的两个命令是topps -ax

顶级操作系统 x

top将为您提供一个进程列表,其中包含PID程序名称(program name),也按CPU 使用率(CPU usage)排序。这是找到要杀死的进程的快速方法。ps -ax将为您提供按PID和程序路径排序的列表。它与顶部略有不同。

ps 命令 os x

现在用于杀死OS X中的程序。您可以简单地键入以下命令来终止特定进程:

kill -9 83002

83002是终端进程(Terminal process),9表示终止进程。您可以使用其他数字,例如 3 表示Quit或 6 表示Abort不过,大多数情况下(Mostly),您将坚持使用 9。您也可以使用KILL 命令(KILL command)来终止所有正在运行的进程,尽管您可能永远不应该使用此命令。

kill -TERM -1

KILL用于杀死一个进程或所有进程,KILLALL用于(KILLALL)杀死一组进程。例如,如果您正在运行Google Chrome,则可能有 10 个Chrome进程正在运行。十次使用KILL(KILL)来关闭Chrome真的很烦人。相反,您可以像这样使用KILLALL

killall Evernote
or
killall 'Google Chrome'

请注意,您必须使用单引号或任何超过一个单词的内容。此外,如果该进程不是以您的名义运行,而是在 root 下运行,您必须使用以下命令:

sudo killall 'Google Chrome'

要么

sudo killall -9 'Google Chrome'

同样, 9 正在向KILL(KILL)而不是TERM发送特定信号。仅当您收到有关没有权限的错误时才需要Sudo 。否则,您可以执行killall programkillall -9 program。在OS X上,当您无法强制退出程序时,KILLALL 命令非常方便。(KILLALL command)您不必知道进程 ID,这很好。只需输入(Just type)名称,所有与该名称相关的进程都将被终止。

本文旨在为您提供在WindowsOS X 和 Linux(OS X and Linux)中杀死程序的更高级方法。如果您对使用命令行(command line)终止程序有任何疑问,请发表评论,我会尽力提供帮助。享受!

 



About the author

我是计算机专家,专门研究 iOS 设备。自 2009 年以来,我一直在帮助人们,我在 Apple 产品方面的经验使我成为满足他们技术需求的完美人选。我的技能包括: - 维修和升级 iPhone 和 iPod - 安装和使用 Apple 软件 - 帮助人们找到最适合他们的 iPhone 和 iPod 的应用程序 - 从事在线项目



Related posts