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

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

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

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

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

  • Проблемы с установкой R на Red Hat 6, требует libjpeg.so.62
  • Можно ли отключить возможность установки из репозиториев yum, которые могут включать зависимости?
  • Как управлять thinkpad_acpi через procfs, RHEL 6.4
  • предотвратить изменение файла и / или метки времени файла
  • Как найти данные установки последнего исправления безопасности?
  • Обновление RHEL 7.4 обновляется FileZilla SFTP
  • CentOS5, RHEL5, Java-зависимые пакеты, альтернативные JVM / JDK
  • Что такое подсистема (например, подсистема netfilter)?
  • 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». Двойная проверка показывает, что она теперь ушла.

    Interesting Posts

    AWK Поиск массивного файла и запись в имя переменной

    Возможно ли воспроизводить звук с двух серверов X в двух TTY одновременно?

    Регулярное выражение busybox для группы IP-адресов

    Рекурсивная группировка символических ссылок по исходному файлу

    команду для просмотра общих установленных пакетов в Slackware?

    Сбросить фон до прозрачного с помощью tmux?

    Как сказать mutt не ждать, пока программа вложений вернется?

    Как отформатировать жесткий диск с защитой от записи в Linux?

    Увеличение разрешения командной строки Centos 6.4 VirtualBox

    ClamAV: подавляет весь вывод, кроме сводных

    systemd shutdown: 90 секундная задержка, logctl показывает тайм-ауты остановки / dev и session-5.scope

    Как удалить пустые строки, начиная с строки 5

    Что означает это регулярное выражение?

    Как я могу архивировать папку, в которой владельцы и разрешения остались без изменений?

    Ошибка: команда не найдена

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