Я должен запустить программу удара в запланированные времена (на основе местного времени) на моей Ubuntu 16.04. Например, это - то, в чем я нуждаюсь:
В понедельник-четверг, 10:00 к 18:00 И в пятницу 10:00 к субботнему 18:00: bash runme.sh
И после того как синхронизированный достиг конца, kill -9
выполнение программы.
Что лучший способ состоит в том, чтобы достигнуть этого, возможно, через сценарий удара?
Самый простой, но далеко не элегантный способ сделать это - написать небольшой монитор процесса.
Допустим, ваш монитор называется monitor.sh
, запишите его внутри:
#!/bin/bash
# Runs your runme.sh in background
/location/of/your/runme.sh &
# Gets the PID of runme.sh
RUN_ME_PID=$!
# Sleeps how much time you need:
sleep 8h
# Kills the process:
kill -9 $RUN_ME_PID
Поскольку это запланированное задание, используйте cron
, чтобы запустить его для вас:
Добавьте это в конце /etc/crontab
(как root
):
# m h dom mon dow user command
00 10 * * 1-4 tina /location/of/your/monitor.sh > /your/output.log
Сделайте то же самое для своей партии в пятницу, но измените monitor.sh
для своих нужд.
Не забудьте пометить monitor.sh
как исполняемый файл:
$ chmod +x monitor.sh
Для получения дополнительной информации посмотрите cron man-pages
или некоторые полезные примеры здесь ]