如何反复终止 Mac 终端进程?

如何反复终止 Mac 终端进程?

我现在在终端中,假设有一个病毒每次我进入终端并终止进程(使用 ps -ax)时都会重新打开,它只会使用新的 PID 重新打开。那么如何使用“bash -c 'while [ 0 ]; do date;done'”在后台连续终止进程?

答案1

像这样玩进程打地鼠游戏是愚蠢的行为。相反,使用ps(1)查找进程的父进程 ID (PPID),并终止不断重生问题进程的父进程。如果发现父进程是launchd(8),则使用launchctl(1)停止该作业。然后在以下三个路径中查找launchd .plist指示launchd运行该作业的文件:

~/Library/LaunchAgents/
 /Library/LaunchAgents/
 /Library/LaunchDaemons/

请注意,如果您使用的是 2015 年在 macOS 10.11 El Capitan 中引入系统完整性保护 (SIP) 之前的旧版本 macOS (Mac OS X、OS X),那么还有两个额外的目录需要查找launchd .plists

 /System/Library/LaunchAgents/
 /System/Library/LaunchDaemons/

SIP 使得恶意软件几乎不可能修改下的这些位置/System/,因此在 El Capitan 及更高版本中您通常不需要在那里寻找恶意软件。

相关内容