【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 信号不允许进程进行任何清理操作,可能会导致数据丢失或文件损坏。

相关推荐
运维行者_6 小时前
企业无线网络监控的挑战与智能化演进趋势
大数据·运维·服务器·网络·数据库
2603_955279707 小时前
Cursor + GitOps:自动化运维新姿势
运维·自动化
Waay7 小时前
面试口述版:个人对 Prometheus 完整理解
运维·学习·云原生·面试·职场和发展·kubernetes·prometheus
三8448 小时前
文件查找/文件压缩/解压缩
linux·运维·服务器
小猪写代码8 小时前
Linux 管道(Pipeline)作业
linux·运维·服务器
桌面运维家8 小时前
如何用半缓存云桌面将服务器硬盘容量扩展至本地终端?
运维·服务器·缓存
激情的学姐8 小时前
【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器
运维·nginx
ai_coder_ai9 小时前
编写自动化脚本,在自己后端服务中使用Open Api进行设备相关操作
java·运维·自动化
会周易的程序员10 小时前
microLog 的本地日志读取接口 log_reader — 本地日志文件读取工具开发指南
linux·物联网·架构·嵌入式·日志·iot·aiot
spider_xcxc10 小时前
Redis 数据库高质量实践指南(一)
运维·数据库·redis·oracle·云计算