Quello che sto cercando di fare è: uccidere un processo all'avvio. Quindi vorrei sapere come rilevare quando si avvia un processo? O come bloccare un processo o un'applicazione all'avvio?
Qualche suggerimento sarebbe apprezzato?
Quello che sto cercando di fare è: uccidere un processo all'avvio. Quindi vorrei sapere come rilevare quando si avvia un processo? O come bloccare un processo o un'applicazione all'avvio?
Qualche suggerimento sarebbe apprezzato?
Apri questo in Script Editor ed esportalo come applicazione di sola lettura e assicurati che rimanga aperto dopo l'esecuzione del gestore off
Dopo l'esportazione, segui questo guida per impedirne la visualizzazione nel dock.
# 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: devi essere un amministratore per farlo.
Salva il seguente file in /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>
Cambia le autorizzazioni con il seguente comando:
sudo chown root:wheel /Library/LaunchDaemons/com.MyName.plist
Nota: devi essere amministratore per farlo.
Per avviare il demone, usa questo comando:
sudo launchctl load /Library/LaunchDaemons/com.MyName.plist
Il programma cercherà le app ogni 5 secondi e le chiuderà se sono in esecuzione.
Per fermare il demone usa questo comando
sudo launchctl unload /Library/LaunchDaemons/com.MyName.plist
Leggi altre domande sui tag macos high-sierra