LINUX.ORG.RU

sh скрипт


0

1

скажите пожалуйста, как написать цикличный .sh скрипт, который бы делал следующие

1 включить программу 2 подождать 1 минуту 3 выключить программу 4 повторить

как написать .sh скрипт

1) Прочитать man sh
2) Подумать, как делать:
а) бесконечные циклы
б) запуск в фоновом режиме
в) управление процессами
г) sleep
3) Написать.

http://tldp.org/LDP/abs/html/ к Вашим услугам.

AITap ★★★★★
()

Лучше по крону ежеминутно запускать, и проверять включенность/выключенность программы.

VirRaa ★★★
()
i=1 ;
while [true] 
do
{
   if [$i == 1]  then
{
i=0 ;
exec <command> ;
} elseif [$i == 0] {
i=1 ;
exec/kill <command> ;
} 
fi
sleep 1m ;
}
done

С синтаксисом мог напутать, давно не писал на Bash

pavel38
()
Ответ на: комментарий от Martin256

Это работает sleep.

Запускайте скрипт также в фоне.

kostik87 ★★★★★
()
Ответ на: комментарий от Martin256

Добавьте своего пользователя в группу cron, затем перелогиньтесь, затем:

crontab -e
И добавьте в редакторе примерно такую строку:
*/1      *       *       *       *       <скрипт>

#!/bin/sh
pgrep <program> && kill `pgrep program`
./program
kostik87 ★★★★★
()
Ответ на: комментарий от Martin256

cron.minute такую папку надо создавать?

Не надо, просто посмотри в crontab -e.

VirRaa ★★★
()
Ответ на: комментарий от VirRaa

Не беспокойтесь, я не понаехавший, родился ещё в Ленинграде, тем более к вам. К тому же указывать кому-то на место его жительства или происхождения принято только у жителей некоторого города нашей страны.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

pgrep programm выдаст нам все существующие копии процесса.

Лучше делать что-то вроде echo «$!» > /var/run/<program>.pid и по значению оттуда удалять. И если в файлег ещё существует, то новых не запускать, пока старый процесс не грохнется.

anonymous
()
Ответ на: комментарий от generator

Для наглядности.

через '/' указывается размер периода (шаг), через который нужно запускать указанное действие.

К примеру, запускать каждые две минуты '*/2' .

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Не беспокойтесь, я не понаехавший, родился ещё в Ленинграде, тем более к вам. К тому же указывать кому-то на место его жительства или происхождения принято только у жителей некоторого города нашей страны.

Эх... с юмором у тебя плохо. Челябинский, потому что делать «kill -9 $PID» - сурово. А всё суровое обычно из Челябинска. К тому же думать, что кому-то указывают на место его жительства или происхождение, принято только у жителей некоторого города нашей страны.

VirRaa ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.