Antes de actualizar a Catalina (10.15.1) mi agente basado en un bash script funcionaba perfectamente.
Había configurado el agente para que ejecutara el bash script en el arranque. Aquí está el archivo plist:
<?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>mark.battery.info</string>
<key>Program</key>
<string>/Users/mark/Dropbox/Exec/BatteryInfoOnBoot.sh</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Después de la última actualización me di cuenta de que el script (BatteryInfoOnBoot.sh) ya no se cargaba en el arranque y si ejecuto el comando:
launchctl list | grep mark
- 1 mark.battery.info
He leído que el estado 1 significa:
PID - El estado 1 significa que el proceso no tiene suficientes privilegios para acceder a algunos archivos
El script BatteryInfoOnBoot es muy sencillo:
#!/bin/bash
echo "~~~~~~~~~" >> /Users/mark/Documents/battery-log.txt
date >> /Users/mark/Documents/battery-log.txt
/Users/mark/Dropbox/Exec/BatteryInfo.sh >> /Users/mark/Documents/battery-log.txt
en cambio BatteryInfo.sh se utiliza sólo para obtener alguna información útil:
#!/bin/bash
echo "Current battery percentage:"
pmset -g batt | grep -Eo "\d+%" | cut -d% -f1
echo ""
echo "Cycle count:"
system_profiler SPPowerDataType | grep "Cycle Count"
echo ""
echo "Capacity stats:"
ioreg -brc AppleSmartBattery | grep -i capacity | grep -v Legacy | grep -v BatteryData | grep -v AppleRaw
echo ""
PD: el script sigue funcionando si lo ejecuto manualmente:
/Users/mark/Dropbox/Exec/BatteryInfoOnBoot.sh
¿Alguna sugerencia?