Вот сценарий Upstart, который я использовал для memcached. Это сильно зависит от реакции SpamapS, но с ключом подстройки отказаться от использования start-memcached.
Использования start-memcached результатов в три технологических вилке для создания окончательного memcached процесса демона. Upstart, кажется, поддерживает только ноль через три вилки:
Ноль вилки, не имеющие expect п, один вилок с expect fork п, или две вилки с с expect daemon п.В ходе тестирования с использованием expect daemon с start-memcached обертки иногда в результате Upstart отслеживания неправильный идентификатор процесса, и в этот момент Upstart входит в разбитое состояние, в котором Upstart зависает при попытке запустить или остановить процесс. Обстановка Bummer, которую трудно исправить без перезагрузки. Обсуждение приводит к нулю до трех вилок имеет некоторые полезные советы по whatto делать, если это произойдет.
В результате я отошел от использования start-memcached обертки и просто inlined memcached в сценарии Upstart ниже. Поскольку процесс запускается непосредственно Upstart, нет необходимости в предложении expect. Несколько других заметок включены в строку.
description "memcached"
env MEMCACHED=/usr/bin/memcached
start on runlevel [2345]
# Not sure why it was recommended to use ^ rather than !. I'm sticking with !.
stop on runlevel [!2345]
# This test is completely optional, I'm just paranoid.
pre-start script
test -x $MEMCACHED || { stop; exit 0; }
end script
respawn
exec $MEMCACHED -m 384 -p 11211 -u memcache -l 127.0.0.1
Вы можете попытаться создать скрипт в $ PATH с именем gdc и вызвать dmd в нем.
Например: $ HOME / bin / gdc
Содержание :
#!/bin/sh
# Enter the dmd compile command below
# $@ are your command line arguments
dmd $@
Сделать его исполняемым: chmod +x $HOME/bin/gdc
Вы можете попытаться создать скрипт в $ PATH с именем gdc
и вызвать dmd в нем.
Например: $ HOME / bin / gdc
Содержание :
#!/bin/sh
# Enter the dmd compile command below
# $@ are your command line arguments
dmd $@
Сделайте его исполняемым: chmod +x $HOME/bin/gdc
Вы можете попытаться создать скрипт в $ PATH с именем gdc
и вызвать dmd в нем.
Например: $ HOME / bin / gdc
Содержание :
#!/bin/sh
# Enter the dmd compile command below
# $@ are your command line arguments
dmd $@
Сделайте его исполняемым: chmod +x $HOME/bin/gdc
Вы можете попытаться создать скрипт в $ PATH с именем gdc
и вызвать dmd в нем.
Например: $ HOME / bin / gdc
Содержание :
#!/bin/sh
# Enter the dmd compile command below
# $@ are your command line arguments
dmd $@
Сделайте его исполняемым: chmod +x $HOME/bin/gdc