Назад | Перейти на главную страницу

linux, запуск демона, определить, запущен ли он initd или пользователем

в моем сценарии /etc/init.d/blabla, что является правильным способом определить, загружается ли система или пользователь root запускает сценарий?

Я думаю о * родительском pid * euid * terminal ... pts?

В традиционном init (не systemd) ваш скрипт будет иметь $0 как что-то вроде Sxxblabla при запуске init, где xx две цифры.

При запуске пользователем обычно устанавливается множество переменных среды, например USER, HOMEи т.д., которые не устанавливаются при запуске из init.

Обратите внимание, что в целом вы хотите, чтобы эффект от запуска команды в оболочке и запуска команды при запуске был как можно более идентичным. В противном случае он может нормально выполнить проверку из командной строки, но при загрузке файл будет сохранен.