当前位置: 首页 > article >正文

Linux基础命令kill详解

kill 是一个在 Unix 和类 Unix 操作系统(如 Linux)中使用的命令,用于向进程发送信号,通常用于终止进程。以下是 kill 命令的详细参数说明及示例。

基本语法

kill [选项] <pid>... 
  • pid: 要发送信号的进程的进程ID(Process ID)。

常用选项与信号

1. 默认信号 SIGTERM (15)

默认情况下,kill 命令发送 SIGTERM 信号,要求进程正常终止。

kill <pid> 
2. -s 或 --signal

指定要发送的信号。使用信号名称或数值。例如,要发送 SIGKILL 信号(强制终止进程):

kill -s SIGKILL <pid> # 或者使用信号编号 kill -9 <pid> 

kill -9 无论进程当前正在执行什么操作,操作系统会立即终止该进程。

不允许进程做任何清理工作,所以可能会导致数据丢失或资源未释放

在处理未响应或冻结的进程时可使用此命令,但应谨慎使用

3. -l 或 --list

列出所有可用信号及其对应编号。

kill -l 
4. -n 或 --signal

后面接信号编号,向指定的进程发送。

kill -n 9 <pid> 
5. -p

仅显示指定的进程的PID,使用此选项并不会发送信号。

kill -p <pid> 
6. -q

不显示错误信息。

kill -q <pid> 

常用信号

  • SIGTERM (15): 请求进程终止,允许清理资源。
  • SIGKILL (9): 强制杀死进程,无法被捕获或忽略。
  • SIGINT (2): 中断进程,通常可以通过 Ctrl+C 发送。
  • SIGHUP (1): 通知进程其控制终端已关闭。
  • SIGSTOP (19): 暂停进程,无法被捕获或忽略。
  • SIGCONT (18): 恢复被停止的进程。

示例

  1. 正常终止进程

    终止进程ID为 1234 的进程,使用默认 SIGTERM 信号:

    kill 1234 
  2. 强制终止进程

    强制终止进程ID为 1234 的进程,使用 SIGKILL 信号:

    kill -9 1234 
  3. 发送不同的信号

    假设你想给进程ID为 1234 的进程发送 SIGHUP 信号:

    kill -s SIGHUP 1234 
  4. 列出所有信号

    列出所有信号的名称和编号:

    kill -l 
  5. 使用信号编号杀死进程

    如下命令发送 SIGINT 信号,通常用于中断进程:

    kill -2 1234 
  6. 优雅地关闭所有子进程

    使用 pkill 或 killall 关闭特定的应用程序。例如,终止所有 firefox 进程:

    killall firefox 

注意事项

  • 使用 SIGKILL 信号会强制终止进程,进程无法进行清理。通常建议优先使用 SIGTERM
  • 有些进程可能会捕获特定信号并采取相应措施(如清理工作),因此依据情况选择信号类型。
  • 确保你有适当的权限去终止目标进程,某些系统进程可能需要 root 权限。

http://www.kler.cn/news/323039.html

相关文章:

  • JBOSS中间件漏洞复现
  • STM32 RTC实时时钟学习总结
  • WordPress精选文章如何添加侧边栏和页面?
  • 计算物理精解【8】-计算原理精解【5】
  • 如何在ChatGPT的帮助下,使用“逻辑回归”技巧完成论文写作?
  • sql server 版本补丁更新
  • Superset二次开发之Git篇git fetch 异常信息汇总
  • 【深度学习基础模型】Variational Autoencoders (VAE) 详细理解并附实现代码。
  • 【基础知识】Go中的同步机制
  • 基于yolov8的辣椒缺陷检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • STM32G431RBT6 VREF+与VDDA引脚
  • 计算机性能指标之MIPS
  • 极狐GitLab 17.4 重点功能解读【九】
  • Windows安全日志7关键事件ID分析
  • 95分App引领绿色消费新潮流,闲置物品焕发新生机
  • 【JS】函数柯里化
  • 「数组」离散化 / Luogu B3694(C++)
  • 畅阅读微信小程序
  • RHCS认证-Linux(RHel9)-Ansible
  • 代码随想录Day 58|拓扑排序、dijkstra算法精讲,题目:软件构建、参加科学大会
  • Linux操作系统中MongoDB
  • 前端开发之代理模式
  • Cilium + ebpf 系列文章- (六)Cilium-BGP与分发-EXTERNAL-IP
  • vue3中< keep-alive >页面实现缓存及遇到的问题
  • 【深度学习】深度学习框架有哪些及其优劣势介绍
  • 【CSS】透明度 、过渡 、动画 、渐变
  • JAVAEE如何实现网页(jsp)间的数据传输?一文总结
  • 2024 icpc 第二场网络赛题解
  • vue-cli,element-plus,axios,proxy
  • 31 变量的访问方式(直接和间接),内存地址(32 位和 64 位),指针的概念与定义,取址与取值运算符( 与 *)