【Linux】理解 Ubuntu 中的 kill 和 killall 命令


我把我唱给你听

把你纯真无邪的笑容给我吧

我们应该有快乐的

幸福的晴朗的时光

我把我唱给你听

用我炙热的感情感动你好吗

岁月是值得怀念的留恋的

害羞的红色脸庞

谁能够代替你呀

趁年轻尽情的爱吧

最最亲爱的人啊

路途遥远我们在一起吧

🎵 叶蓓《想把我唱给你听》


在 Ubuntu 系统或任何 Linux 发行版中,kill 和 killall 命令是两个强大的工具,用于管理正在运行的进程。了解如何正确使用这些命令可以帮助您有效地控制程序的执行,特别是当程序无响应或需要优雅关闭时。本文将详细介绍这些命令的用法,帮助您掌握如何在 Ubuntu 系统中管理进程。

1. kill 命令

kill 命令用于向正在运行的进程发送信号。虽然常见的用法是终止进程,但实际上 kill 可以发送各种类型的信号。

基本语法:

bash 复制代码
kill [options] <pid>

是进程ID,您可以通过 ps, pgrep 或类似工具找到。

常用信号:

SIGTERM(15):默认信号,请求进程优雅地终止。

SIGKILL(9):立即终止进程,不可被阻塞或处理。

SIGSTOP(19):暂停进程,而不是终止。

示例:

bash 复制代码
# 使用默认信号 SIGTERM 终止进程
kill 1234

# 强制终止进程
kill -9 1234

# 暂停进程
kill -19 1234

2. killall 命令

killall 是一种更为高级的命令,它根据程序名而不是进程ID来终止进程。

基本语法:

bash 复制代码
killall [options] <program_name>

<program_name> 是进程的名称,如 firefox。

选项:

-i:交互模式,终止前确认。
-v:详细模式,显示正在发送的信号。

示例:

bash 复制代码
# 终止所有名为 'firefox' 的进程
killall firefox

# 交互式终止 'gedit' 进程
killall -i gedit

注意事项

使用 kill 和 killall 时,需要确保您有权操作指定的进程。通常,您只能操作自己的进程,除非您是超级用户。

在使用 SIGKILL 信号之前,最好尝试 SIGTERM。SIGKILL 信号不允许进程进行任何清理操作,可能会导致数据丢失或文件损坏。

相关推荐
lcreek19 小时前
Linux信号机制详解:阻塞信号集与未决信号集
linux·操作系统·系统编程
shandianchengzi19 小时前
【记录】Tailscale|部署 Tailscale 到 linux 主机或 Docker 上
linux·运维·docker·tailscale
John Song19 小时前
Linux机器怎么查看进程内存占用情况
linux·运维·chrome
sichuanwuyi20 小时前
Wydevops工具的价值分析
linux·微服务·架构·kubernetes·jenkins
持戒波罗蜜20 小时前
ubuntu20解决intel wifi 驱动问题
linux·驱动开发·嵌入式硬件·ubuntu
不做无法实现的梦~20 小时前
使用ros2来跑通mid360的驱动包
linux·嵌入式硬件·机器人·自动驾驶
点云SLAM20 小时前
C++内存泄漏检测之Windows 专用工具(CRT Debug、Dr.Memory)和Linux 专业工具(ASan 、heaptrack)
linux·c++·windows·asan·dr.memory·c++内存泄漏检测·c++内存管理
肉肉心很软21 小时前
使用onlyoffice实现文件预览编辑 + Docker一键部署流程
运维·docker·容器
LuiChun21 小时前
Docker Compose 容器服务查询与文件查看操作指南(Windows Docker Desktop 版)【一】
linux·运维·windows·docker·容器
${王小剑}21 小时前
在离线ubuntu上布置深度学习环境
linux·运维·ubuntu