Linux 中关闭进程的方法
上周使用 ADB 调试手机,结果操作不当创建了一堆进程,打开任务管理器点点点太麻烦,无奈之余百度一下 Windows 如何关闭进程,结果发现taskkill /f /t /im adb.exe
意外地好用,感觉这个 Windows 的 Powershell 还有点东西。之前在 Linux 上只会kill -9
给跪了,于是了解了一下 Linux 中的相关操作。
Killall 使用方法
1. 命令格式
作用:结束同名的所有进程。
$ killall [argv] [process_name]
2. 常用参数
-Z 只杀死拥有scontext 的进程
-e 要求匹配进程名称
-I 忽略大小写
-g 杀死进程组而不是进程
-i 交互模式,杀死进程前先询问用户
-l 列出所有的已知信号名称
-q 不输出警告信息
-s 发送指定的信号
-v 报告信号是否成功发送
-w 等待进程死亡
--help 显示帮助信息
--version 显示版本显示
Kill 使用方法
1. 命令格式
作用:结束指定进程。
$ kill -s 9 [pid]
2. 实际用法
- 为进程发送信号
$ kill -[signal] [pid]
- 查看可发送的信号
$ kill -l
- 彻底结束进程
$ kill -9 [pid]
- 杀死指定用户的所有进程
# kill -9 $(ps -ef | grep cubat)
PKill 使用方法
1. 命令格式
作用:相当于 kill + pgrep
$ pkill [Singal] [process_name]
2. 常用参数
-e, --echo 展示是什么进程被结束了
-c, --count 统计匹配的进程数
-f, --full 匹配完整的进程名
-g, --pgroup 按照 group id 进行匹配
-G, --group 匹配真实 group id
-n, --newest 选择最新启动的进程
-o, --oldest 选择最早启动的进程
-P, --parent 在已知的父进程中选取唯一的子进程
-s, --session 匹配会话的 ID
-t, --terminal 按照控制终端进行匹配
-u, --euid 根据有效进程 ID 进行匹配
-U, --uid 根据真实 ID 进行匹配
-x, --exact 根据精确的 CLI 命令进行匹配
-F, --pidfile 从文件中读取 PID
-L, --logpidfile PID 文件未锁则报错退出
--ns <PID> 根据与相同命名空间的 PID 匹配进程
--nslist 以列表的形式展示命名空间(可用的有:ipc, mnt, net, pid, user, uts)
评论
发表评论