Jak uniemożliwić automatyczne ponowne uruchomienie procesu? (w szczególności antywirus Sophos)

13

Moje oprogramowanie VPN wymaga, aby program antywirusowy Sophos był zainstalowany i uruchomiony. Jednakże, kiedy NIE jestem w sieci VPN, nie chcę, aby w ogóle działała - chcę, żeby była martwa.

Jednak zabicie zadań jest nieskuteczne:

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

Po prostu automatycznie uruchamia się ponownie. Co muszę zrobić, aby temu zapobiec?

Keflavich
źródło
Czy jest możliwe, że oprogramowanie Sophos preferuje wyłączenie tego oprogramowania?
daviesgeek
Nie, o ile mogę powiedzieć; jeśli tam jest, jest ukryty.
keflavich

Odpowiedzi:

17

Oznacza to, że istnieje inny proces monitorowania, który go uruchamia.

Możesz sprawdzić, kto jest procesem nadrzędnym: wybierz proces w monitorze aktywności i użyj przycisku Info lub za pomocą terminala, ps -ax -O ppidjeśli prawidłowo pamiętam.

  • Może to być kolejny proces Sophos, ale o ukrytej nazwie, a może nawet oprogramowanie VPN. W takim przypadku możesz po prostu killje wszystkie.

  • Inną możliwością jest utrzymanie procesu przez demona uruchamiania launchd. W tym przypadku można znaleźć wpisu (plik XML) plist dla programu antywirusowego w albo ~/Library/LaunchAgents, /Library/LaunchAgents(prawdopodobnie) lub /System/Library/LaunchAgents(I drogo nadzieję, że nie).

W takim przypadku możesz:

  • Edytuj plik i zmień parametr KeepAlive, usuwając go lub zmieniając (możesz robić fajne rzeczy, więcej informacji znajdziesz w dokumentacji ).

  • Po prostu poproś uruchomione, aby zrobiło to za Ciebie. Niestety nie możesz tego powiedzieć, launchtl stopponieważ proces po prostu odrodzi się. Musisz użyć
    sudo launchctl unload /path/to/the/plist file

Agos
źródło
Dzięki Agos, to była rada, której szukałem. Jednak nie mogę znaleźć tej cholernej rzeczy! Brak identyfikatorów PID z numerami w pobliżu (oryginalna, zabita) antywirusa Sophos, z którym mógłbym się z nim powiązać. Nic nie pojawiło się w katalogach LaunchAgents (chociaż wszystko, co zrobiłem, to proste sprawdzenie wyrażenia regularnego w / System /). Czy jest jakiś plik dziennika, w którym uruchomiono by zapis ponownego uruchomienia procesu? Sprawdziłem system.log i inne bez powodzenia ...
keflavich 17.09.11
Plik dla mnie był tutaj /Library/LaunchDaemons/com.sophos.common.servicemanager.plist- można go znaleźć za pośrednictwem mdfind -name Sophos. Usunięcie parametru Keep Alive działało.
Dhruv Ghulati
Nie działa dla procesów w / System / Library / LaunchDaemons - OSX wyświetla błąd „Nie można znaleźć określonej usługi”
Adam
7

Chciałbym skomentować post Agosa, ale jestem zbyt nowy, aby to zrobić. Więc:

O ile pamiętam, powinni oni mieć agenta uruchamiania /Library/LaunchAgents. Chciałbym tylko prosić, aby zrobić ls /Library/LaunchAgents, ls /Library/LaunchDaemonsi ls /System/Library/LaunchDaemons. Coś się pojawi .

Możesz także otworzyć /Applicationsi zaznaczyć Odinstaluj Sophos.app, a Show Package Contentsnastępnie sprawdzić skrypt odinstalowujący.

GhostLyrics
źródło
1
Dzięki Duchu. Opuszczony katalog Agos to / Library / LaunchDaemons, który zawiera plik plist. Dałem ci +1, ale Agos odpowiedział, ponieważ dostał większość. Bardzo doceniam pomoc!
keflavich
Upewnij się, że w centrum uwagi jest poszukiwanie plików Sophos pozostawionych po „odinstalowaniu” mdfind -name Sophos
chiggsy
@chiggsy dlaczego miałby to zrobić? Nie chce odinstalować aplikacji, ale uniemożliwia jej ponowne uruchomienie za każdym razem, gdy ją zabije.
GhostLyrics
Otóż ​​to? To wszystko, czego chce?
chiggsy
4
man launchctl


launchctl list |grep -i 'sophos'

na stałe rozładować demona, ale go nie odinstalować

launchctl unload -w /full/path/to/file.plist
chiggsy
źródło
1
To jest „lepsza” odpowiedź, ponieważ zapobiegnie również ładowaniu się kiedykolwiek (-w)
Dustin
Sophos chowa się. To nie działa na Sophos.
Ben
1

Aby dowiedzieć się, które launchdzadanie odradza rzeczy tail -f /var/log/system.logi sudo kill -9 <pid>proces, który Cię interesuje.

Nagle launchdpowie ci dokładnie, która praca jest odpowiedzialna:

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

Możesz także spróbować zwiększyć poziom dziennika, aby dokładnie określić, co się dzieje: launchctl log level debug

Pamiętaj, że niektóre zadania będą uruchamiane jako root, więc sudo launchctl listmogą pokazać dodatkowe zadania uruchomione na twoim komputerze.

Jose Alban
źródło
0

Możesz także kontrolować, który program Launch Agent i demony działają, a kiedy za pomocą przydatnej aplikacji Lingon, dostępnej w sklepie Mac App Store i online.

JeffCGD
źródło