Есть ли механизм для запуска «службы» пользователем без полномочий root?

Есть ли способ, которым я могу постоянно работать, фоновый процесс, который может контролироваться мной (обычный, не root-пользователь)?

Все, что мне нужно, это запустить, остановить и перезапустить процесс. Мониторинг с помощью PID и отправка SIGHUP или SIGINT для завершения – это нормально. Я в порядке с использованием сложного сценария bash, он не должен быть чем-то общесистемным. Только для меня.

Мне также очень нужно, чтобы он не останавливался, когда я выхожу из ssh.

Есть ли способ сделать это в RHEL 6.4?

  • Компиляция GCC - откуда берется символ __stack_chk_fail@GLIBC_2.4?
  • Нужен ли нам отдельный сервер метаданных для использования pNFS?
  • Установить значения по умолчанию в чашках?
  • Как зарегистрировать систему Red Hat 5.9
  • Почему pvremove имеет двойную «силу» на странице руководства?
  • Как установить g ++ на RHEL6?
  • Разрешения, изменяющиеся на несколько файлов в каталоге / etc /
  • Логин ssh passwordless не работает на RHEL
  • One Solution collect form web for “Есть ли механизм для запуска «службы» пользователем без полномочий root?”

    экран или tmux

    Конечно, вы можете запускать процессы и затем запускать их непрерывно, используя терминальный мультиплексор, такой как экран или tmux. Процессы могут продолжать сохраняться в сеансе экрана или tmux, и вы можете подключиться / отключиться либо (экран, либо tmux) по мере необходимости.

    фоновый

    Вы можете запустить любой процесс, который вам нравится, а затем выполнить его фоновое копирование, а затем отключить его от вашего текущего терминала, используя команду disown .

     $ disown -a 

    Кроме того, если вы просто хотите начать процесс и не использовать его и disown вы можете использовать команду nohup .

     $ nohup myexec & 

    Когда вы myexec из оболочки, myexec продолжит работу.

    пример

    Начните поддельный процесс.

     $ sleep 12345 & [1] 24339 $ 

    Удостоверьтесь, что мы можем это увидеть:

     $ pgrep -f "sleep 12345" 24339 

    Но он все еще подключен к нашему терминалу:

     $ jobs [1]+ Running sleep 12345 & 

    Поэтому давайте disown него:

     $ disown -a $ jobs $ 

    Смотрите, что он все еще работает:

     $ pgrep -f "sleep 12345" 24339 

    Теперь давайте выходим из системы и снова заходим. Смотрите, что все еще есть:

     $ pgrep -f "sleep 12345" 24339 

    Вы можете убить этот процесс в любое время, используя стандартные средства:

     $ pkill -HUP -f "sleep 12345" $ pgrep -f "sleep 12345" $ 

    Вышеуказанное отправит сигнал HUP на имя процесса, соответствующее шаблону «sleep 12345». Двойная проверка показывает, что она теперь ушла.

    Linux и Unix - лучшая ОС в мире.