根据我的理解killall name,它查找名称为名称的所有进程。所以killall killall应该查找并杀死自己,所以我预计没有输出。所以我很好奇:
为什么它看起来像这样:
nathan:~ max$ killall killall
No matching processes belonging to you were found
nathan:~ max$
Run Code Online (Sandbox Code Playgroud)
我在当前的 OS X 上。
根据 Linux 手册页killall不会自杀。
编辑:我看到 OSX 手册页上没有提到这一点,但它可能具有相同的行为。原因是您可以使用killall正则表达式,因此您完全有可能在指定正则表达式时不小心尝试杀死,这将变得killall不那么有用。
编辑 2:我对此可能大错特错,但 OSX 不叫“达尔文”——这不是 OSX的源代码killall吗?
我对我的 C 有点生疏,但以下内容:
Run Code Online (Sandbox Code Playgroud)if (thispid == mypid) continue;
在似乎是遍历所有活动进程的循环中,似乎是一个特定的检查,用于将它试图杀死的当前进程与其自己的 PID 进行比较,因此它会跳过自己。
猜猜你可以下载那个源代码,删除这两行,然后重新编译它,如果你真的想要一个killall会自杀的东西。
| 归档时间: |
|
| 查看次数: |
212 次 |
| 最近记录: |