Превышение тайм-аута не соблюдается?

В настоящее время я учусь выскочить, играя вокруг. Я думаю, что теперь я понял этот принцип, но у меня возникают трудности со строфой «убить тайм-аут» в новых рабочих местах.

Например, у меня есть следующая работа (имя файла /etc/init/test.conf):

description "test"
start on test
console owner
kill timeout 5
task
exec /root/test

Файл / root / test представляет собой небольшой скрипт оболочки, который выполняется вечно:

while true; do o=1; done;

При выполнении «initctl start test», задание «test» запускается и вызывает скрипт «/ root / test». Я могу убедиться в этом, выполнив «initctl status test», который показывает, что задание работает, а также выполнив «ps -Alf».

Теперь в разделе «kill timeout 5» задание будет уничтожено через 5 секунд. Но вместо этого работа, кажется, работает вечно.

Я хотел бы знать, правильно ли я использую и понимаю строфу тайм-аута. Это важная особенность для меня.

Это на Natty 11.04, но я думаю, что вопрос относится и к другим версиям.

Большое спасибо,

Бинарус

5
задан 14 March 2011 в 11:21

1 ответ

Это не то, что делает kill timeout; он указывает, сколько времени ждать после отправки вежливого сигнала «прекращения» для завершения процесса, прежде чем бросить и запустить ядерное оружие.

Если вы хотите установить ограничение времени процесса способом upstart, проще всего, вероятно, периодически вызывать событие timer и использовать stop on timer. В качестве альтернативы (и, возможно, в более общем плане) создайте программу-обертку, которая разветвляет небольшой процесс, который отправляет событие после определенного периода времени, и stop on это событие.

Для получения дополнительной информации и лучших практик, см. «Поваренная книга выскочка» .

0
ответ дан 14 March 2011 в 11:21

Другие вопросы по тегам:

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