Implemented commandline params, updated README.md, added cpanfile, fixed couple of bugs

- Use Proc::Find instead of ps utility
- Use builtin kill instead of commandline utility
- Use setpriority instead of renice utility
- Implemented config parameter loopdelay
- Implemented config parameter cmddelay
- Implemented commandline parameter --config
- Added --help parameter
- Implemented commandline parameter --pidfile
- Added cpanfile and bootstrap.sh to bootstrap this daemon
- Optimized algo - do not send signals to already "signaled" processes, do not ionice already ioniced pids
This commit is contained in:
eleksir
2023-05-01 16:33:27 +03:00
parent 4229e2f914
commit 3082dd2add
5 changed files with 217 additions and 91 deletions

View File

@@ -2,7 +2,17 @@
"parameters": {
# 0 - запустить как обычный прооцесс (для systemd, например)
# > 0 - запустить как unix daemon
"foreground" : 0
"foreground" : 1,
# куда складываем process id нашего демоночка, пустая строка - не складываем никуда (pid-файл не нужен)
"pidfile": "/run/reniced.pid",
# Задержка между итерациями скрипта. По-умолчанию, 2 секунды. Измеряется в секундах.
# Не может быть менее 2-х секунд.
"loopdelay": "10",
# задержка между применением команд по renice-у. Измеряется в миллисекундах, по-умолчанию 0
"cmddelay": "1000"
},
"kill" : {
@@ -98,7 +108,7 @@
"com.apple.siri-distributed\\-evaluation",
"com.apple.CloudPhotosConfiguration"
],
"12": ["bash"],
# IO hogs and other "bad" services
"19":[
"coreduetd",
@@ -107,7 +117,7 @@
"backupd",
"com.apple.CodeSigningHelper",
"distnoted",
"backupd\\-helper",
"backupd\\-helper",
"JamfDaemon",
"osqueryd",
"commvault",