¿Cómo evita que un proceso se reinicie automáticamente? (específicamente, Sophos antivirus)

13

Mi software VPN me exige que tenga instalado y en ejecución el antivirus Sophos. Sin embargo, cuando NO estoy en VPN, no quiero que se ejecute en absoluto, lo quiero muerto.

Sin embargo, matar las tareas es ineficaz:

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

Simplemente se reinicia automáticamente. ¿Qué necesito hacer para evitar eso?

keflavich
fuente
¿Es posible que el software de Sophos prefiera desactivarlo?
daviesgeek
No tan lejos como puedo decir; Si está allí, está oculto.
keflavich

Respuestas:

17

Esto significa que hay otro proceso de monitor que lo relanza.

Puede verificar quién es el proceso principal: seleccione el proceso en el monitor de actividad y use el botón Información, o mediante el terminal con ps -ax -O ppidsi recuerdo correctamente.

  • Podría ser otro proceso de Sophos pero con un nombre oculto, o tal vez incluso su software VPN. En ese caso, puedes killhacerlo todo.

  • La otra posibilidad es que el demonio de lanzamiento mantenga vivo el proceso launchd. En este caso se encuentra una entrada (un archivo plist XML) para su antivirus en cualquiera ~/Library/LaunchAgents, /Library/LaunchAgents(probable) o /System/Library/LaunchAgents(I muy caro, no esperamos).

Si el segundo es el caso, puede:

  • Edite el archivo y cambie el parámetro KeepAlive, ya sea eliminándolo o cambiándolo (puede hacer cosas ingeniosas, consulte los documentos para obtener más información).

  • Solo pídale a launchd que haga la parada por usted. Desafortunadamente, no puedes decirlo launchtl stopya que el proceso simplemente reaparecería. Tendrás que usar
    sudo launchctl unload /path/to/the/plist file

Agos
fuente
Gracias Agos, ese es exactamente el consejo que estaba buscando. ¡Sin embargo, no puedo encontrar la maldita cosa! No hay PID con números cercanos (el original, pre-asesinado) Sophos Anti-Virus que pueda asociar con él. No apareció nada en los directorios de LaunchAgents (aunque todo lo que hice fue un simple registro de expresiones regulares en / System /). ¿Hay algún archivo de registro en el que launchd registraría el reinicio de un proceso? He comprobado system.log y otros sin suerte ...
keflavich
El archivo para mí estaba aquí /Library/LaunchDaemons/com.sophos.common.servicemanager.plist, puedes encontrarlo a través de mdfind -name Sophos. Eliminar el parámetro Keep Alive funcionó.
Dhruv Ghulati
No funciona para procesos en / System / Library / LaunchDaemons - OSX le da un error "No se pudo encontrar el servicio especificado"
Adam
7

Comentaría sobre la publicación de Agos, pero soy demasiado nuevo para hacerlo. Entonces:

Por lo que recuerdo, deberían tener un agente de lanzamiento /Library/LaunchAgents. Solo te pediría que hicieras un ls /Library/LaunchAgents, ls /Library/LaunchDaemonsy ls /System/Library/LaunchDaemons. Algo va a aparecer.

También puede abrir /Applicationsy verificar Desinstalar Sophos.app con y Show Package Contentsluego revisar el script de desinstalación.

FantasmaLetras
fuente
1
Gracias fantasma El directorio que Agos dejó fuera fue / Library / LaunchDaemons, que tiene el archivo plist. Te di un +1, pero Agos la respuesta, ya que obtuvo la mayor parte. Agradezco mucho la ayuda!
keflavich
Asegúrese de ejecutar Spotlight para buscar los archivos de Sophos que quedaron después de la 'desinstalación' mdfind -name Sophos
chiggsy
@chiggsy ¿por qué haría eso? No quiere desinstalar la aplicación, pero evita que se reinicie cada vez que la mata.
GhostLyrics el
¿Eso es? Eso es todo lo que quiere?
chiggsy
4
man launchctl


launchctl list |grep -i 'sophos'

descargar un demonio permanentemente, pero no desinstalarlo

launchctl unload -w /full/path/to/file.plist
chiggsy
fuente
1
Esta es la "mejor" respuesta porque también evitará que se cargue nunca (-w)
Dustin
Sophos se esconde. Esto no funciona en sophos.
Ben
1

Para averiguar qué launchdtrabajo está generando las cosas tail -f /var/log/system.logy sudo kill -9 <pid>el proceso que le interesa.

De repente, launchdle dirá exactamente qué trabajo es responsable:

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

También puede intentar aumentar el nivel de registro para determinar con precisión lo que está sucediendo: launchctl log level debug

Tenga en cuenta que algunos trabajos se ejecutarán como root, por lo que sudo launchctl listpodría mostrarle algunos trabajos adicionales que se ejecutan en su máquina.

Jose Alban
fuente
0

También puede controlar qué Launch Agent y Daemons se ejecutan y cuándo con la útil aplicación Lingon, disponible a través de la tienda de aplicaciones Mac y en línea.

JeffCGD
fuente