Wie verhindern Sie, dass ein Prozess automatisch neu gestartet wird? (speziell Sophos Antivirus)

13

Meine VPN-Software erfordert, dass Sophos Antivirus installiert ist und ausgeführt wird. Wenn ich jedoch NICHT auf VPN bin, möchte ich nicht, dass es überhaupt läuft - ich möchte, dass es tot ist.

Das Beenden der Aufgaben ist jedoch unwirksam:

ps -ax | grep -i soph
40972 ??         0:07.34 /Library/Sophos Anti-Virus/SophosAutoUpdate.app/Contents/MacOS/SophosAutoUpdate -d
41069 ??        28:08.48 /Library/Sophos Anti-Virus/InterCheck.app/Contents/MacOS/InterCheck -d
41078 ??         0:02.42 /Library/Sophos Anti-Virus/SophosAntiVirus.app/Contents/MacOS/SophosAntiVirus -d
$ sudo kill 40972 41069 41078 41084
$ ps -ax | grep -i soph
44344 ??         0:00.03 /Library/Sophos Anti-Virus/SophosAutoUpdate.app/Contents/MacOS/SophosAutoUpdate -d
44345 ??         0:00.02 /Library/Sophos Anti-Virus/SophosAntiVirus.app/Contents/MacOS/SophosAntiVirus -d
44347 ??         0:03.03 /Library/Sophos Anti-Virus/InterCheck.app/Contents/MacOS/InterCheck -d

Es wird nur automatisch neu gestartet. Was muss ich tun, um das zu verhindern?

Keflavich
quelle
Ist es möglich, dass die Sophos-Software das Gerät deaktiviert?
Daviesgeek
Nicht so weit ich das beurteilen kann; Wenn es da ist, ist es versteckt.
Keflavich

Antworten:

17

Dies bedeutet, dass es einen anderen Monitorprozess gibt, der ihn neu startet.

Sie können überprüfen, wer der übergeordnete Prozess ist: Wählen Sie den Prozess im Aktivitätsmonitor aus und verwenden Sie die Schaltfläche Info oder über das Terminal mit, ps -ax -O ppidwenn ich mich richtig erinnere.

  • Es könnte ein anderer Prozess von Sophos sein, aber mit einem Stealth-Namen oder vielleicht sogar Ihrer VPN-Software. In diesem Fall können Sie killsie alle einfach .

  • Die andere Möglichkeit besteht darin, dass der Prozess vom Startdämon am Leben gehalten wird launchd. In diesem Fall finden Sie einen Eintrag (eine Plist-XML-Datei) für Ihr Antivirenprogramm entweder ~/Library/LaunchAgentsin /Library/LaunchAgents(wahrscheinlich) oder /System/Library/LaunchAgents(ich hoffe sehr nicht).

Wenn der zweite Fall der Fall ist, können Sie entweder:

  • Bearbeiten Sie die Datei und ändern Sie den KeepAlive-Parameter, indem Sie ihn entweder entfernen oder ändern (weitere Informationen finden Sie in den Dokumenten ).

  • Bitten Sie einfach launchd, das Anhalten für Sie zu erledigen. Leider kann man es nicht einfach sagen, launchtl stopda der Prozess nur wieder erscheinen würde. Du musst verwenden
    sudo launchctl unload /path/to/the/plist file

Agos
quelle
Danke Agos, das ist genau der Rat, den ich gesucht habe. Ich kann das verdammte Ding jedoch nicht finden! Es gibt keine PIDs mit Nummern in der Nähe (des ursprünglichen, vorgetöteten) Sophos Anti-Virus, die ich damit verknüpfen kann. In den LaunchAgents-Verzeichnissen ist nichts aufgetaucht (obwohl ich nur eine einfache Regex-Prüfung in / System / durchgeführt habe). Gibt es eine Protokolldatei, in der launchd den Neustart eines Prozesses aufzeichnet? Ich habe system.log und andere ohne Glück überprüft ...
keflavich
Die Datei für mich war hier /Library/LaunchDaemons/com.sophos.common.servicemanager.plist- Sie können über finden mdfind -name Sophos. Das Entfernen des Keep Alive-Parameters hat funktioniert.
Dhruv Ghulati
Funktioniert nicht für Prozesse in / System / Library / LaunchDaemons - OSX gibt die Fehlermeldung "Angegebener Dienst konnte nicht gefunden werden"
Adam
7

Ich würde Agos 'Beitrag kommentieren, aber ich bin zu neu, um das zu tun. Damit:

Soweit ich mich erinnere, sollten sie einen Launch Agent haben /Library/LaunchAgents. Ich würde Sie bitten, nur zu tun ls /Library/LaunchAgents, ls /Library/LaunchDaemonsund ls /System/Library/LaunchDaemons. Etwas wird angezeigt.

Sie können auch /ApplicationsSophos.app öffnen und überprüfen, indem Sie das Deinstallationsskript auschecken Show Package Contents.

GhostLyrics
quelle
1
Danke Ghost. Das ausgelassene Verzeichnis von Agos war / Library / LaunchDaemons mit der plist-Datei. Ich habe dir eine +1 gegeben, aber Agos die Antwort, da er das meiste davon bekommen hat. Ich bin sehr dankbar für die Unterstützung!
Keflavich
Stellen Sie sicher, dass Sie Spotlight ausführen, um nach Sophos-Dateien zu suchen, die nach der 'Deinstallation' zurückgelassen wurden. Mdfind -name Sophos
chiggsy
@chiggsy warum sollte er das tun? Er möchte die Anwendung nicht deinstallieren, sondern verhindern, dass sie jedes Mal neu gestartet wird, wenn er sie beendet.
GhostLyrics
Das ist es? Das ist alles was er will?
Chiggsy
4
man launchctl


launchctl list |grep -i 'sophos'

um einen Daemon dauerhaft zu entladen, aber nicht zu deinstallieren

launchctl unload -w /full/path/to/file.plist
kichernd
quelle
1
Dies ist die "bessere" Antwort, da sie auch verhindert, dass sie jemals geladen wird (-w)
Dustin
Sophos versteckt sich. Dies funktioniert nicht bei Sophos.
Ben
1

Um herauszufinden, welcher launchdJob die Dinge zurückbringt tail -f /var/log/system.logund an welchem sudo kill -9 <pid>Prozess Sie interessiert sind.

Plötzlich launchderfahren Sie genau, welcher Job verantwortlich ist:

com.apple.launchd[1] (com.sophos.managementagent[83911]): Exited: Killed: 9

Sie können auch versuchen, die Protokollstufe zu erhöhen, um genau zu bestimmen, was passiert: launchctl log level debug

Beachten Sie, dass einige Jobs als ausgeführt werden root, sodass sudo launchctl listmöglicherweise einige zusätzliche Jobs auf Ihrem Computer ausgeführt werden.

Jose Alban
quelle
0

Sie können auch steuern, welcher Launch Agent und welche Daemons ausgeführt werden und wann mit der nützlichen App Lingon, die im Mac App Store und online erhältlich ist.

JeffCGD
quelle