Хост-процесс для нескольких процессов?

Можно сделать много с макросами в энергии.

Использовать qa записывать макрос, названный "a", q прекратить записывать, @a воспроизвести его и 100@a играть его назад 100 раз.

1
31.01.2013, 11:00
2 ответа

Как насчет runit, "UNIX init схема с сервисным контролем"?

Я думаю, что это соответствует Вашим требованиям, т.е.

Я не могу ответить на "один сервис в некоторых вариантах" проблема умным способом, Вы могли, конечно, определить сервисы отдельно... (мог бы быть некоторый аккуратный symlink-and-examine-my-pwd-solution к этому, но я не уверен при попытке быть умной вот хорошая идея; размышление о пригодности для обслуживания)

Страница This ArchWiki редактирования предоставляет быстрый обзор, который мог бы быть лучшим запуском, чем runitстраница.

2
27.01.2020, 23:29
  • 1
    Это, кажется, прибывает довольно близко, указывая, что сервисы seperatly для решения "одного сервиса в некоторых вариантах" не кажутся слишком большим количеством стычки для меня на первый взгляд. Chet Ramey –  Marcus Riemer 31.01.2013, 12:13
  • 2
    Вероятно, зависит от количества их... и насколько подобный они. Если то, что отличается, (например, сырой эскиз следует), порт и ServerRoot, это могло быть закодировано в символьных ссылках, т.е. /sv/lighttpd_var-www_80 -> /etc/sv/lighttpd, где последний осматривает $0 и устанавливает соответствующие параметры командной строки. –  sr_ 31.01.2013, 12:23
  • 3
    Мы будем называть их в честь ответвлений, и я на самом деле довольно доволен наличием отдельных конфигураций для тех. Но большое спасибо за Ваше усилие. –  Marcus Riemer 31.01.2013, 13:17

pidof и pgrep поможет, если Вы захотите написать сценарий этого (и обойтись без сомнительного ps | lots | of | things идиома). Можно также отфильтровать uid, ценурозом, ppid, самый старый, новейший и т.д.

Команда kill -0 $pid может использоваться, чтобы подтвердить, что существует определенный идентификатор процесса.

Могут быть сложности, если у Вас есть несколько экземпляров в различных каталогах, через которые Вы не можете сказать различие между ними ps. В зависимости от платформы Вы можете отличать их легко cwd, например, на проверке Linux /proc/$PID/cwd.

# pgrep httpd
9483
9492
9493
9497
# head -1 /usr/local/apache2/logs/httpd.pid
9483
# kill -0 `head -1 /usr/local/apache2/logs/httpd.pid` && echo $?
0
# ls -l /proc/9483/cwd /proc/9483/exe
lrwxrwxrwx 1 root root 0 2013-01-30 19:40 /proc/9483/cwd -> /
lrwxrwxrwx 1 root root 0 2013-01-30 19:37 /proc/9483/exe -> /usr/local/apache2/bin/httpd

(извините, $CWD Apache не слишком интересен...),

Ваш netstat может также смочь помочь также:

# netstat -plnt | grep :80
tcp        0      0 192.168.123.123:80       0.0.0.0:*               LISTEN     9483/httpd

Наиболее часто используемый прием в сценариях запуска, привыкших к управляющим процессам, которые не хороши об управлении файлом PID, должен запустить их non-daemonizing/non-forking способом как фоновое задание с & (хотя, очевидно, программа должна иметь флаг non-daemonizing, иногда называемый как inetd режим), и запись $! в файл PID самостоятельно.

pstree полезный инструмент для того, чтобы разыскать иерархии процесса:

#  pstree -lnp 9483
httpd(9483)-+-rotatelogs(9484)
            |-rotatelogs(9485)
            |-rotatelogs(9486)
            |-rotatelogs(9491)
            |-httpd(9492)
            |-httpd(9493)-+-{httpd}(9495)
            |             |-{httpd}(9496)
            |             |-{httpd}(9498)
            |             |-{httpd}(9499)
            |             |-{httpd}(9502)
            |             |-{httpd}(9504)
        [... lots more threads snipped ...] 

Как последнее прибежище lsof многоплатформенный инструмент для отслеживания вещей холмы файлом, соединением или PID.

Для стандартного процесса система типов супервизора проверяют daemontools пакет DJB. Его сайтом является http://cr.yp.to/daemontools.html, хотя откровенно документация может быть немного тупой, существует много учебного руководства как доступные страницы.

Существует некоторое время загрузка альтернатив (не использована мной) перечисленный здесь: https://serverfault.com/questions/192302/alternative-to-daemontools-djbtools-to-supervise-unix-processes

1
27.01.2020, 23:29
  • 1
    Спасибо за указание, как сделать мой сценарий немного более удобным в сопровождении! daemontools конечно, достойный внимания, спасибо за Ваши дальнейшие ссылки. –  Marcus Riemer 31.01.2013, 12:12

Теги

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