Подскажите как можно сделать чтобы при краше программа автоматом рестартовала,тоесть упала и заного запустилась?
Авторестарт программы
ну например:
#!/bin/bash
while [ 1 ]
do
ps -A |grep <Название софтины в процессах>|| <Название софтины>
sleep 30
done
а можно ли както прописать путь к запускаемой программе?
ну например /opt/1234
можно ли прописать .sh? файл
и можно ли запуск программы с параметрами
если не сложно напишите примеры
Скажите название софтины.
все что вы написали сделать можно.
На примере ff:
#!/bin/bash
while [ 1 ]
do
ps -A |grep firefox-bin || /opt/firefox/firefox -safe-mode
sleep 1
done
программа это игровой сервер по игре teeworlds тоесть сам сервер лежит у меня в папке /opt/tee назвается файл server его надо запускать с параметром -f 123.cfg
хотел спросить еще чтобы не создавать тему есть скрипт для запуска этого сервера
#!/bin/sh
DIR="/usr/local/games/teeworlds"
CONF="conf.cfg"
case "$1" in
start)
echo "Starting Teeworlds Server..."
start-stop-daemon --start --chdir $DIR --background \
--chuid games:games --exec $DIR/teeworlds_srv -- -f $DIR/$CONF
PID=`ps ax | grep 'teeworlds_srv' | awk '{print $1}'| sed 2d`
echo $PID > /var/run/teeworlds.pid
echo "Started"
;;
stop)
echo "Stopping Teeworlds Server..."
start-stop-daemon --stop --pidfile /var/run/teeworlds.pid
echo "Stopped"
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: /etc/init.d/teeworlds {start|stop}"
exit 1
esac
exit 0
но он у меня не запускается ругается на daemon как я понял мне для этого нало чтото установить?
Покажите "ругань"
Насчет перезапуска, предположим вот так:
#!/bin/bash
while [ 1 ]
do
ps -A | grep tee || exec /opt/tee/server -f 123.cfg
sleep 1
done
/etc/init.d/teeworlds: line 9: start-stop-daemon: command not found
Проблема тут:
start-stop-daemon --start --chdir $DIR --background
...
start-stop-daemon --stop --pidfile /var/run/teeworlds.pid
Видимо поставили не правильно, или скрипт кривой сам по себе.
Aspedin, а зачем такой скрипт? :)
Почему нельзя сделать сценарий, назовём его resurrect:
#!/bin/sh
while [[ 1 ]]; do $*; done
И запускать нужную для автоперезапуска программу как
resurrect server -f 123.rc