bel*_*qua 96 command-line process
使用只是普通后kill <some_pid>在Unix系统上多年,我学会pkill从一个年轻的Linux精明的同事同事1。
我很快就接受了Linux的方式,pgrep-ing并pkill通过多少个日日夜夜-ing,通过缓慢起伏和比赛条件。这一切都很好。
但现在我什么也看不到killall。How-to 似乎只提到了killall,我不确定这是否是某种并行开发,或者是否killall是 的继任者pkill,或者其他什么。
它似乎更具有针对性pkill,但我确定我遗漏了一些东西。
一个 Ubuntu/Debian-savvy 2人能否解释什么时候(或为什么)killall应该使用,特别是如果它应该优先使用pkill(pkill通常看起来更容易,因为我可以更草率地匹配名称,至少在默认情况下)。
说到killall,我没有想到在某些 Unix 系统(Solaris、AIX、?)上会杀死所有用户进程的命令。以下是IBM 的 AIX 联机帮助页中对该版本的描述:
killall 命令取消您启动的所有进程,除了那些产生 killall 进程的进程。此命令提供了一种取消由您控制的 shell 创建的所有进程的便捷方法。当由 root 用户启动时,killall 命令会取消所有可取消的进程,但启动它的进程除外。如果指定了多个信号,则只有最后一个有效。
1个“同事”是从“同事”免费升级的,所以也可以。
2本来我以为这是Linux或者Debian的东西,但是有消息说Linuxkillall是从BSD风格的Unix派生出来的。
dje*_*kyb 72
我认为您在 how-to 中看到了 killall,因为默认情况下它需要精确的进程名称,而 pkill 进行基本的模式匹配。因此,killall 对于用户盲目复制和粘贴更安全。
Pkill 和 killall 都有不同的选项。Killall 有一个标志来匹配进程年龄,pkill 有一个标志来只杀死给定 tty 上的进程。等等。两者都不是更好,他们只是有不同的专业。
我从他们的手册页中看到 killall 来自psmisc 包,它有几个进程管理实用程序,但值得注意的是不包含ps. 它是具有 ps、top、kill 和 pkill(等等)的procps 包。我敢打赌 procps 最初没有 pkill,所以 psmisc 挠痒痒并想出了 killall。
该pkill的/ p纤ep手册页说,他们在Solaris中7中引入正如您所提到,jgbelacqua,的Solaris的killall不是工具提供Psmisc做,这样的Solaris大概只用了procps的包。有人想要一个模式匹配过程工具,即 pkill 和 pgrep。不知道是procps dev开发的还是后来加进去的。无论如何,它成功进入并成为*nixes 的一部分。
更多来源:
小智 7
请小心“killall”。在某些系统上(我忘了是哪个),killall 会杀死所有进程。它会默默地忽略参数并使您的系统完全停止。
如果激活 /etc/bash_completion,然后killall <part_of_process_name>点击 Tab - 自动完成正在运行的进程列表中的进程名称
| 归档时间: |
|
| 查看次数: |
66578 次 |
| 最近记录: |