会列出 系统上正在运行的进程列表。不带任何选项时,ps 将列出 属于当前用户且具有控制终端的进程。
示例选项包括
ps -aux
以树状 结构形式显示进程(类似于 tree 对目录的处理方式)。
示例
pstree -p
当您知道进程名称的一部分 时,此命令对于查找特定进程的进程 ID 非常有用。
使用 -l 选项列出进程的名称,并使用 -u 选项通过特定用户(或多个用户)进行搜索。
通常,pgrep 只会返回 pid 号;这样您就可以将其与其他命令一起使用。
示例
kill $(pgrep mozilla)
这将终止 任何以 mozilla 开头的进程名称。 请注意,这与使用 pkill 相同(请参阅下文)。
如果您不熟悉 此命令的 $( ) 部分 ,请参阅 第 6 章中题为 执行多个命令 的部分。
要列出进程 ID 和名称,请键入
pgrep -l process_name
要在系统上终止进程,您将需要它们的 pid 或 id。 使用 ps 或 pstree 查找 进程 ID (pid),或使用 jobs 查找 id。
killall 和 pkill - 通过名称终止进程:pkill 和 killall 可能比 kill 更易于使用。pkill 允许您键入进程名称的一部分来终止它,而 killall 则需要完整的进程名称。 请参阅下文以获取更多信息。
示例
kill pid
kill %id
与上面相同,不同之处在于它使用 id 而不是 pid, 当使用 id 进行终止时,您需要使用 %(百分号)。
kill -kill pid
强制 终止一个进程 (不允许 保存文件 或更新);仅在必要时使用,因为程序 拥有的所有数据 都将丢失。
还有许多其他 kill 选项,例如 kill -HUP (挂起)... 有关更多 信息,请参阅 手册/info 页面 。
通过进程名称终止进程,使用名称而不是进程 ID (pid)。 使用 -v 让 killall 报告 终止是否成功 ,以及 -i 用于交互式 模式(在尝试 终止之前会提示您)。
pkill - 有点像带有正则表达式的 killall:pkill 是另一个允许终止进程的命令,但它使用正则表达式。 请参阅下文以获取更多信息。
例如
killall -iv mozilla
将终止任何名为“mozilla”的进程,并在每次终止之前提示 您,并报告终止是否成功。 不幸的是,您需要使名称完全 正确,killall 才能工作,您需要使用 “mozilla-bin” 来终止 mozilla 浏览器。 如果您想要不需要知道确切 名称的东西,请尝试 pkill (下文)。
pkill 用于根据扩展的 正则表达式终止进程。 使用 -u 选项以使用用户名(或多个用户名)和进程名称进行终止(例如,仅终止特定用户的进程)。 pkill 还可以向进程发送 特定信号。
pkill process_name
请注意,“process_name”不必完全匹配……
或者要仅终止用户 “fred” 和 “anon” 的 “process_name”,请键入
pkill -u fred anon process_name
skill 有许多 选项 可用 以确保正确 解释(否则它只会猜测它是什么),只需键入 skill -option(s)
skill 可用于停止、继续或终止进程 ,使用用户名、 命令名称或进程 ID(或向 它们发送您喜欢的任何种类的信号)。
有用的例子
skill -STOP abusive_user_name
上面的命令将停止 该用户的所有进程, 这将导致 他的屏幕 冻结 ,直到您键入
skill -CONT abusive_user_name
这将告诉 所有进程 可以像以前一样继续。 请注意,这仅在您是 root 用户时才有效。 另请注意,您可以在命令中列出多个用户名,以便它应用于 多个 用户。
将进程放到后台。 要在后台 启动程序(使其不占用终端),请在命令末尾使用 “&”(和号)。 您通常使用 CTRL-Z 挂起 当前正在使用的程序。 您可以简单地使用 bg 在后台恢复最后一个挂起的作业……
命令语法
bg job_number
或
bg job_name
将进程带到前台, 以便您可以与其交互。 该进程将使用您当前的终端。 请注意,只需使用 fg 即可将最后一个挂起的作业号置于前台……
您可以通过名称或编号将作业 带到前台 (使用 jobs 查找编号)。
命令语法
fg job_number
或
fg job_name
设置进程的优先级。 nice -20 是最高 优先级 (只有管理 用户可以分配 负优先级), nice 20 是最低 优先级。 您必须 是 root 用户才能为进程赋予更高的 优先级,但您始终可以降低自己进程的优先级……
示例
nice -20 make
更改现有 命令的优先级。 您可以使用选项 -u 更改 特定用户名的所有进程的优先级,以及 -g 更改 特定组的所有进程的优先级。 默认 是通过进程 ID 号码进行更改。
示例
renice +20 2222
snice 的工作方式与 skill 非常相似,只是它更改进程的优先级。 它的功能 与 renice 类似。
要使用选项(以确保正确 解释),您只需键入 snice -option(s):
-c --- 命令名称(这与 killall 相同)
-t --- tty 编号
示例
snice -10 -u root