Linux 中的终止命令

2023-10-15

Linux是一个伟大而先进的操作系统,但它并不完美。有时,某些应用程序可能会开始表现不稳定并变得无响应或开始消耗大量系统资源。无响应的应用程序无法重新启动,因为原始应用程序进程永远不会完全关闭。唯一的解决方案是重新启动系统或终止应用程序进程。

有几个实用程序允许您终止错误的进程kill最常用的。

kill命令#

kill是大多数 Bourne 派生 shell(例如 Bash 和 Zsh)中内置的 shell。 shell 和独立的命令行为略有不同/bin/kill可执行的。

Use the type命令显示系统上包含的所有位置kill:

type -a kill
kill is a shell builtin
kill is /bin/kill

上面的输出表明 shell 内置命令的优先级高于独立可执行文件,并且每当您键入时都会使用它kill。如果您想使用二进制文件,请输入文件的完整路径/bin/kill。在本文中,我们将使用内置的 Bash。

的语法kill命令采用以下形式:

kill [OPTIONS] [PID]...

The kill命令向指定的进程或进程组发送信号,使它们根据信号采取行动。当未指定信号时,默认为-15(-学期)。

最常用的信号是:

  • 1 (HUP) - 重新加载进程。
  • 9 (KILL) - 杀死一个进程。
  • 15 (TERM) - 优雅地停止进程。

要获取所有可用信号的列表,请使用以下命令调用该命令-l option:

kill -l

信号可以通过三种不同的方式指定:

  1. 使用数字(例如,-1 or -s 1).
  2. 使用“SIG”前缀(例如,-SIGHUP or -s SIGHUP).
  3. 没有“SIG”前缀(例如,-HUP or -s HUP).

以下命令彼此等效:

kill -1 PID_NUMBERkill -SIGHUP PID_NUMBERkill -HUP PID_NUMBER

PID 提供给kill命令可以是以下之一:

  • If PID大于零,信号被发送到 ID 等于PID.
  • If PID等于0,信号被发送到当前进程组中的所有进程。换句话说,信号被发送到属于调用该命令的 shell 的 GID 的所有进程。kill命令。使用ps -efj命令查看进程组 ID (GID)。
  • If PID等于-1,信号被发送到与调用该命令的用户具有相同 UID 的所有进程。如果调用用户是 root,则该信号将发送到除 init 和kill过程本身。
  • If PID小于-1,信号被发送到进程组eq中的所有进程,其GID等于PID.

普通用户可以向自己的进程发送信号,但不能向其他用户的进程发送信号,而 root 用户可以向其他用户的进程发送信号。

使用终止进程kill命令#

终止或杀死一个进程kill命令,首先您需要找到进程ID号(PID)。您可以使用不同的命令来执行此操作,例如top, ps , pidof and pgrep .

假设 Firefox 浏览器没有响应,您需要终止 Firefox 进程。要查找浏览器 PID,请使用pidof命令:

pidof firefox

该命令将打印所有 Firefox 进程的 ID:

6263 6199 6142 6076

一旦您知道了进程号,您就可以通过发送以下命令来杀死所有进程TERM signal:

kill -9 6263 6199 6142 6076

您可以将上述命令合并为一个,而不是搜索 PID 然后终止进程:

kill -9 $(pidof firefox)

使用以下命令重新加载进程kill命令#

另一个常见用例kill是发送HUP信号,告诉进程重新加载其设置。

例如,要重新加载 Nginx,您需要向主进程发送信号。 Nginx主进程的进程ID可以在nginx.pid文件,通常位于/var/run目录。

Use the cat查找主PID的命令:

cat /var/run/nginx.pid
30251

找到主 PID 后,通过键入以下命令重新加载 Nginx 设置:

sudo kill -1 30251

上面的命令必须以 root 或用户身份运行sudo特权。

结论#

The kill命令用于向进程发送信号。最常用的信号是SIGKILL or -9,它终止给定的进程。

如果您有任何问题或反馈,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 中的终止命令 的相关文章

随机推荐

  • Python 中的 JSON 操作和转换技术

    在本教程中 您将学习各种 JSON 处理技术 例如加载 JSON 对象 写入 排序 JSON 或解析 JSON 等 JSON 代表JavaScript Object N代表结构化数据的otation JSON 数据用于交换信息 在Pytho
  • 什么是 Linux 文件系统?简易指南

    您可能已经对 Linux 有一点了解 但您可能并不确切知道您的数据在幕后是如何处理的 因为如果你像许多其他 Linux 用户一样 你就会认为这些事情是理所当然的 但你的 Linux 文件系统可没这么无忧无虑 所以 今天我们要讨论的正是 Li
  • Python pytest 教程(您获得无错误代码的门票)

    pytest 是一个强大的 Python 测试框架 可让您轻松创建小型 简单的测试 同时可扩展以支持应用程序和库的复杂功能测试 它为您提供了一个平台 通过将测试用例编写为函数来执行 Python 测试 从而减少代码和样板代码的数量 它还可以
  • 使用 Linux curl 命令处理身份验证方法

    curl是一个用于为不同协议传输数据的命令行工具 在其广泛的功能中 最重要的功能之一是它在与服务器通信时处理不同类型的身份验证的能力 本教程深入探讨了使用的身份验证机制卷曲命令在 Linux 上 目录 hide 1 基本认证 2 Diges
  • 如何在 Fedora 34/33 上安装 ownCloud 10

    ownCloud使用 Web 界面提供数据访问 它还提供跨设备同步和共享的选项 一切都在您的控制之下 使用 ownCloud 我们可以轻松地对每个用户的文件 ACL 实施限制 ownCloud 提供桌面客户端 Windows MAC Lin
  • 检查素数的Python程序

    理解素数的概念以及如何识别它们是数学的一个重要方面 素数是只有两个不同的自然数约数的数字 1 和它本身 换句话说 如果您选择一个素数并尝试将其除以除 1 和该数字本身之外的任何其他数字 则结果总是会是分数 前几个素数是 2 3 5 7 11
  • 如何计算 MySQL 数据库大小

    MySQL 数据库的大小是需要监控的一个重要方面 因为它会影响数据的性能 备份和恢复过程 在本文中 我们将介绍计算 MySQL 数据库大小的方法 并提供 SQL 查询和解释 MySQL 数据库大小计算 有几种不同的方法可以计算 MySQL
  • 如何在 Ubuntu 22.04 上安装 VirtualBox 7.0

    您知道可以在 Linux 计算机上运行虚拟机吗 这是真的 借助 VirtualBox 等虚拟化软件 您可以为任何操作系统 甚至是像 Windows 或 OS X 这样不寻常的操作系统 设置单独的环境 而不会给您的主操作系统带来风险 您会发现
  • 如何在 Linux 中搜索 X 天/小时内创建的文件

    本教程将帮助您查找 X 天内创建或修改的文件 这里X表示任意数 使用 find 命令 您还可以搜索 X 分钟内创建或修改的内容 1 搜索30天内创建 修改的文件 使用此命令可以搜索 var backup 目录中 30 天内创建或修改的所有文
  • 用于备份 Windows 事件日志和清理的 PowerShell 脚本

    PowerShell 是一个功能强大的命令行工具 允许系统管理员自动执行许多日常任务 包括管理 Windows 事件日志 在此脚本中 我们将创建一个 PowerShell 脚本 将所有事件日志备份到指定位置 然后清除日志以释放磁盘空间并提高
  • 如何在 Ubuntu 18.04 和 16.04 上配置 NFS 共享

    网络文件系统 NFS 是一个分布式文件系统协议 它允许客户端计算机上的用户以类似于访问本地存储的方式通过网络访问文件 本文将帮助您在 Ubuntu 系统上安装和配置 NFS 并导出目录并将其挂载到客户端系统上 网络详情 我们在同一网络 19
  • 让 Shell 访问正在运行的 Docker 容器:实用指南

    Docker 是容器化事实上的标准 提供了一种打包和分发应用程序的有效方法 作为开发人员或系统管理员 有时您可能需要获得对正在运行的 Docker 容器的 shell 访问权限 这可以用于调试目的 应用程序管理或其他各种任务 本指南提供了有
  • 如何在 Git 存储库中创建分支

    Git 是一个强大的版本控制系统 被软件开发人员广泛使用 Git 的关键功能之一是能够在单个存储库中创建和管理多个分支 在本文中 我们将分步讲解创建 Git 分支的过程 第 1 步 了解 Git 分支 在我们深入创建 Git 分支之前 了解
  • 如何在 Bash Shell 脚本中使用函数

    什么是功能 函数也可以称为子例程 过程是用于特定任务的代码块 函数还有一个属性 称为可重用性 本教程将帮助您了解如何在 shell 脚本中创建和使用函数 在 Shell 脚本中创建第一个函数 在 shell 脚本中创建第一个函数 显示输出
  • 如何在 Git 中列出远程分支

    Git 是一种流行的版本控制系统 开发人员使用它来跟踪对其代码所做的更改 分支是 Git 的一个重要方面 因为它们允许开发人员并行处理多个功能或修复错误 而不会影响主代码库 在 Git 中 您可以创建两种类型的分支 本地分支和远程分支 本地
  • 如何在 MacOS 上安装 VirtualBox

    如何在 macOS 上安装 VirtualBox 在 macOS 系统上安装 VirtualBox 以及扩展包的分步教程 VirtualBox 是一款流行的跨平台虚拟机管理器 可让您在 Mac 上创建虚拟机 VM VM可用于同时运行不同的操
  • 如何在 Ubuntu 18.04 上安装 Anaconda

    Anaconda 是最流行的 Python 数据科学和机器学习平台 用于大规模数据处理 预测分析和科学计算 Anaconda 发行版附带了 1 000 多个数据包 conda命令行工具和名为 Anaconda Navigator 的桌面图形
  • 如何检查Python版本

    Python 是世界上最流行的编程语言之一 它用于开发网站 编写脚本 机器学习 分析数据等 本文介绍如何使用命令行检查操作系统上安装的 Python 版本 这在安装需要特定版本 Python 的应用程序时非常有用 我们还将向您展示如何以编程
  • 如何在 Ubuntu 18.04 上添加交换空间

    交换空间是磁盘上的空间 当物理 RAM 内存已满时使用 当 Linux 系统耗尽 RAM 时 非活动页面将从 RAM 移至交换空间 交换空间可以采用专用交换分区或交换文件的形式 通常 在虚拟机上运行 Ubuntu 时 不存在交换分区 唯一的
  • Linux 中的终止命令

    Linux是一个伟大而先进的操作系统 但它并不完美 有时 某些应用程序可能会开始表现不稳定并变得无响应或开始消耗大量系统资源 无响应的应用程序无法重新启动 因为原始应用程序进程永远不会完全关闭 唯一的解决方案是重新启动系统或终止应用程序进程