Intereting Posts
Как я могу запустить системный скрипт достаточно, чтобы проверить подключение к Интернету? Как предварительно загружать мой .so каждый раз, когда приложение выполняется? Какие команды доступны в разделе% pre в файле Kickstart в CentOS? мышь в полночь командир работает только под root Зачем ограничивать количество инодов, к которым пользователь может получить доступ? Как начать процесс с хорошим значением -20 и не дать ему привилегии root? Условное приглашение для меркуриальных найти устройство из его файла tty? Настроить верхнюю панель / глобальное меню / Super-Wingpanel в элементарной операционной системе Luna как сделать окно tmux открытым после выполнения команды Каковы подсистемы пользовательского интерфейса, их компоненты и обязанности? Заменить выходные события Plasma Device Notifier считает, что все внутренние разделы жесткого диска являются съемными и всегда показывают их Как узнать последнее время выполнения сценария оболочки? Скрипт для создания другого скрипта обрабатывает все файлы в последовательности?

Как автозапуск фоновой программы пользователем, не являющимся пользователем root?

Как пользователь, не являющийся пользователем root, я хочу запустить фоновое задание при загрузке системы. Это своего рода сервис, который не требует привилегий root. Есть ли способ сделать это?

Один из способов – добавить sudo -u user command в rc.local , но для редактирования rc.local требуется привилегия root.

Другой способ – запустить его из cron каждую минуту и ​​проверить на какой-либо запущенный экземпляр, но, во-первых, он незаметно просыпает систему, а во-вторых, при проверке запущенных экземпляров может быть состояние гонки.

Третий способ – запустить его в ~/.bash_profile , но я хочу запустить его без входа пользователя.

Вы можете использовать cron, если ваша версия имеет функцию @reboot . От человека 5 crontab :

Вместо первых пяти полей может появиться одна из восьми специальных строк:

  string meaning ------ ------- @reboot Run once, at startup. … 

Вы можете отредактировать пользовательский локальный crontab командой crontab -e без привилегий root. Затем добавьте следующую строку:

 @reboot /usr/local/bin/some-command 

Теперь ваша команда будет запущена один раз во время загрузки.