Lo que estoy tratando de hacer es: matar un proceso cuando se inicia. Así que me gustaría saber que cómo detectar cuando un proceso se inicia? ¿O cómo bloquear un proceso o una aplicación para que no se inicie?
¿Se agradece cualquier sugerencia?
Lo que estoy tratando de hacer es: matar un proceso cuando se inicia. Así que me gustaría saber que cómo detectar cuando un proceso se inicia? ¿O cómo bloquear un proceso o una aplicación para que no se inicie?
¿Se agradece cualquier sugerencia?
Abrir esto en script Editor y exportarlo como un Sólo lectura aplicación y asegúrese de que permanecer abierto después de la ejecución del manipulador está apagado
Después de exportar siga este para evitar que aparezca en el muelle.
# Block Apps By Josh Brown
# Last Modified: Aug 23 2018
global applist
on run
set applist to {"Google Chrome", "App Store"} -- Apps to limit
if checkapps() then
killall()
end if
end run
on is_running(appName)
try
if (the length of (do shell script "pgrep -x " & quoted form of appName) > 0) then
kill(do shell script "pgrep -x " & quoted form of appName)
end if
end try
end is_running
on checkapps()
set x to false
repeat with a from 1 to length of applist
is_running(item a of applist)
end repeat
return x
end checkapps
on kill(theID)
do shell script "kill -9 " & theID
end kill
Nota: Debes ser un administrador para hacer esto.
Guarde el siguiente archivo en /Library/LaunchDaemons/
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.PlzUpvoteMy.answer</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/open</string>
<string>-W</string>
<string>**/path/to/application.app**</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>5</integer>
<key>UserName</key>
<string>**UserToBlock**</string>
</dict>
</plist>
Cambie los permisos con el siguiente comando:
sudo chown root:wheel /Library/LaunchDaemons/com.MyName.plist
Nota: Debes ser administrador para hacer esto.
Para iniciar el demonio utilice este comando:
sudo launchctl load /Library/LaunchDaemons/com.MyName.plist
El programa buscará las aplicaciones cada 5 segundos y las cerrará si se están ejecutando.
Para detener el Daemon utilice este comando
sudo launchctl unload /Library/LaunchDaemons/com.MyName.plist
Gracias, @JBis . No estoy tratando de averiguar qué proceso se está ejecutando. Estoy tratando de evitar que un proceso se ejecute o se inicie. Si es imposible, estoy tratando de averiguar cómo matar a un proceso una vez que se inicia.
@user174782 Por favor, comprueba el enlace. Si pones el límite de tiempo a 0/alteras el código a tus necesidades hará exactamente lo que buscas
Muy buen trabajo, @JBis. ¿Hay alguna forma de mantenerlo en segundo plano? Para que al arrancar el sistema se inicie el script. Y añadirlo a los elementos de inicio de sesión del usuario no es una buena idea, porque la gente lo eliminará, ya sabes.
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.
0 votos
¿Hay algún proceso en particular del que quiera ocuparse? ¿Quiere matar el proceso o impedir que se inicie?
0 votos
@Mark No hay un proceso concreto. Impedir que se inicie sería mejor.
0 votos
Lo obvio es eliminar el ejecutable - Esto parece un problema de XY, ¿qué estás tratando de hacer. Algunos procesos se reinician automáticamente si se matan por muchos matar después de 5 segundos (como en la respuesta) es demasiado tarde han hecho el daño. Es mejor atacar el problema de otra manera