Я столкнулся с той же ошибкой. Вики arch linux в настоящее время неверна в отношении того, куда поместить скрипт. Вам нужно поместить скрипт в /lib/systemd/system-sleep/
вместо /usr/lib/systemd/system-sleep/
.
См. такжеman systemd-suspend.service
:
Immediately before entering system suspend and/or hibernation systemd-suspend.service (and the other mentioned units, respectively) will run all executables in /lib/systemd/system-sleep/ and pass two arguments to them.
Вот собственное решение, использующее auditd
, которое использует функции аудита, встроенные в ядро Linux.
auditctl -a always,task # the one below should also work; pick one
auditctl -a always,exit -F arch=b64 -S clone,fork,vfork,execve
systemctl restart auditd
# wait a while and use your computer
Либо запишите файл конфигурации audit
, включите службу и перезагрузитесь
echo "-a always,task" > /etc/audit/rules.d/logpid.rules
echo "-a always,exit -F arch=b64 -S clone,fork,vfork,execve" > /etc/audit/rules.d/logpid.rules
systemctl enable auditd
systemctl start auditd
reboot
Затем, после перезагрузки,используйте некоторое время и проверьте отчет об аудите:
aureport --start today --interpret --executable --summary # sort by execs the number of audit events
aureport --start today --interpret --syscall --summary