如何终止无法退出的进程(包括 killall -u 用户名)

如何终止无法退出的进程(包括 killall -u 用户名)

我正在摆弄我的 Mac 上的某些应用程序(进入内容并尝试更改某些文件、值等)

当然,有时我会遇到崩溃,但我通常只是终止进程,一切就好了。

不过,这次我可以在文档中看到应用程序图标(没有下面的白条),但强制退出根本没有帮助。

转到应用程序监控没有帮助,因为该应用程序没有列在那里(无论如何没有名称)所以,我转到左上方的苹果图标,单击强制退出,并且确实列出了该应用程序(带有其图标)但名称现在是“JavaApplicationStub”。

从那里退出也无济于事。

我启动了终端并检查了所有进程(ps -ax),但既没有列出应用程序也没有列出“JavaApplicationStub”(甚至没有列出接近的名称)。

我尝试注销(然后关闭 Mac),但毫无用处,因为应用程序阻止了系统关闭(顺便说一句,这阻止我启动任何其他应用程序,因为它会自动关闭(毕竟系统正在尝试关闭)。幸运的是,几分钟后 OS X 承认它无法关闭,并允许我再次使用该系统)

所以我无法确定要终止哪个进程。

作为最后的手段,我做了一个,killall -u myusername结果屏幕变成灰色,我无法做任何事情。但按下 Cmd + Alt + Esc(强制退出屏幕)确认唯一正在运行的是“JavaApplicationStub”。

(这意味着“JavaApplicationStub”不是我的进程,或者系统无法关闭它。)

显然,它仍然会阻止我关机。

不确定如何从那里再次启动常用程序(Finder、Dock 等),我不得不按住电源按钮 10 秒钟,直到 Mac 最终关闭,我才能再次将其打开。

问题 1

那么,处理这种情况的正确方法是什么?

问题2

我做了一件非常简单的事情,我只是删除了 app.contents 文件夹中的一个文件(看似无害)。阻止系统退出应用程序真的这么容易吗?这有可能被利用吗?

答案1

从终端

killall -9 process_name

你可以从中获取所有信号( -9 部分)

man signal 

相关内容