Mac OS X 终端的killall命令无法终止正在运行的进程

13

我有一个运行中的lighttpd实例。当我执行“ps -axc”时,进程被列出为

"614 ?? 0:00.15 lighttpd"

但是当我执行"killall lighttpd"时,我得到以下结果:

No matching processes belonging to you were found

我使用的是 Mac OS X 10.5.6,有什么我忽略的吗?

5个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
24

根据其他回复,如果这不是您的进程,请在管理员身份下添加 sudo。否则,您可能没有希望。

此外,请尝试使用 sudo killall -9 lighttpd,该命令发送特定的KILL信号而不是TERM信号。

为了确保,您还可以尝试使用进程ID(PID)sudo kill -9 614


好的,搞定了。问题出在我创建了一个 lighttpd.plist 文件,然后将其添加到 /library/launchdaemons 中,并用 launchctl 加载它。它是在 root 下运行而不是我的用户帐户下运行。它正在终止该进程,但立即又被重新加载。 - Geuis

5

ps aux列表中是否有括号中写的任务?如果是,那么它是一个僵尸进程,正在等待某些I/O任务,这些任务可能永远不会完成。据我所知,您无法杀死它。


2
这个句子的意思是:“这是你的吗?如果是,那么......”。它与IT技术无关。
ps aux | grep lighttpd

这将为您提供与该进程关联的用户ID(我猜测它已被 chowned 给另一个用户)


1

尝试

sudo kill -9 `pgrep lighttpd`

0

它可以工作:killall -u root -c lighttpd


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,