Встановлення тайм-ауту для завдань на Cron


11

Чи підтримує Ubuntu Linux cron (Vixie cron?) Встановлення тайм-ауту для своїх робочих місць?

Зокрема, процес буде знищений через X секунд, якщо він не закінчиться успішно до того часу.

У мене були випадки, коли завдання висіли через підключення до мережі та різні проблеми. Процес залишається навісати назавжди, якщо ви вручну не очистите і не вб'єте їх.

Відповіді:


26

У Ubuntu існує тайм-аут команди , який є частиною coreutils. Ви можете використовувати його так, щоб встановити тайм-аут. Старіші версії Debian / Ubuntu не створювали та не включали цю команду, але є порівнянний timeoutпакет, який ви можете встановити.

# puppet shouldn't take more then 40 minutes!
47 * * * * root /usr/bin/timeout 2400 /usr/bin/puppet agent ...

3
Тривалість може також мати суфікс ("s" на секунди, "m" на хвилини, "h" на години і "d" на дні). Отже, для кращої читабельності, вищезгадане також може бути записане у вигляді 47 * * * * root / usr / bin / timeout 40m / usr / bin /
marpet

Ні, не може. принаймні, не з реалізацією, яку я мав під час написання цього питання. У новій версії coreutils є суфікс s. Версії, яку я мав на старих системах Debian, не було.
Зоредаче

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.