«sh -c 'echo 3 > /proc/sys/vm/drop _caches» -Отказано в доступе

Я написал для "старого" sysv initd, вы должны проверить, работает ли он на вашем дистрибутиве.

У хороших демонов есть хорошо написанные скрипты запуска в /etc/initd

При изменении уровня запуска, как init узнает о запущенных демонах?

Ищет их имена в каталоге

/var/lock/subsys

Так что можно

get the names list from there

scan all the running processes and check if the name is inside the list: bingo !

Чтобы просканировать все процессы, :перечислите все подкаталоги в

/proc

Если его имя — цифры, это pid запущенного процесса.

Например, статус процесса с pid 1234 — это файл

/proc/1234/status

Откройте его и получите первую строку, начинающуюся с "Имя :"

См.

http://man7.org/linux/man-pages/man5/proc.5.html

https://linuxexplore.com/2014/03/19/use-of-subsystem-lock-files-in-init-script/

(извините за грубое форматирование, пишу с мобильного...)

-1
01.07.2021, 18:14
0 ответов

Теги

Похожие вопросы