LINUX.ORG.RU
ФорумAdmin

Автоматическое убийство процесса через Htop и выполнение команды после

 ,


0

1

Доброго времени суток. Нужна помощь по Htop. Нужно сделать такую вещь, чтобы если процесс с заданным именем (в моем случае SRCDS) ест больше 99% памяти - его нужно принудительно убить, после чего за пользователя прописать команду: ./gmodserver st. Нагрузка под 100% обычно создается именно когда процесс зависает или крашится. Нужно для рестарта серва гмод (процесс SRCDS) в случае зависания/краша. Как такое сделать?

Мне вспомнилось что, когда «прибиваешь» процесс pulseaudio, она снова стартует. Как какой-то вирус.

Может всезнающие гуру знают, как это сделано?

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Через socket activation или какой-нибудь dbus. Клиента pulseaudio какого-нибудь не прибил, сервис поднимается заново, все пучком.

t184256 ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Мне вспомнилось что, когда «прибиваешь» процесс pulseaudio, она снова стартует. Как какой-то вирус.

ты ж ленивая жопа :)

router@calypso:~$ systemctl list-unit-files -a --user | grep -i pulse
pulseaudio.service                    disabled
pulseaudio.socket                     disabled

router@calypso:~$ systemctl status --user pulseaudio.service
● pulseaudio.service - Sound Service
   Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-02-22 22:32:02 MSK; 5h 20min ago
 Main PID: 1308 (pulseaudio)
   CGroup: /user.slice/user-1000.slice/user@1000.service/pulseaudio.service
           └─1308 /usr/bin/pulseaudio --daemonize=no

router@calypso:~$ less /usr/lib/systemd/user/pulseaudio.service
[...]
[Service]
[...]
Restart=on-failure
[...]
router ★★★★★
()
Ответ на: комментарий от router

Он ещё до появления systemd перезапускался.

Только не помню уже, через сессионную dbus, или напрямую клиентской библиотекой через запуск бинарника.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.