Этот сценарий работает отлично, когда я запускаю его вручную. Как я могу заставить это работать на запуске? Функция сценария должна добраться Docky
к автоматическому перезапуску в случае катастрофического отказа.
Я создал сценарий как это:
gedit ~/process_monitor.sh
Вставляемый в следующем (нашел, это на Спрашивает Ubuntu):
#!/bin/bash
if [[ -z "$1" ]];then
echo "ERROR: must specify program"
exit 1
fi
while (( 0 == 0 ));do
$@ &
pid=`jobs -l | awk '{print $2}'`
wait $pid
done
Сохраненный файл.
Установите разрешение:
chmod a+x ~/process_monitor.sh
Теперь, когда я выполняю его как это, это работает отлично:
~/process_monitor.sh docky
Однако, когда я добавляю следующее для запущения приложений, который не заставляет сценарий запуститься на запуске. Ну, возможно, это делает, но сценарий не работает.
/bin/bash ~/process_monitor.sh docky
В основном существует своего рода графический элемент, который высвечивается на экране в течение половины секунды, но никаком другом знаке сценария, который будет замечен, и Docky
не повторно запускается, если это уничтожается.
Как сделать эту работу? Я уверен, что это является чрезвычайно основным.
Я нахожусь на Ubuntu 14.04.
проблема - то, что Приложения Запуска создают .desktop
файл в ~/.config/autostart
В .desktop
файл, Вы не можете использовать родственника - или пути переменной как ~
. Используйте полные пути вместо этого:
/bin/bash /absolute/path/to/process_monitor.sh docky
Это - лучший подход
, работает crontab -e
, вставляют эту строку внизу
*/2 * * * * if [ ! `pgrep docky` ] ; then /usr/bin/docky; fi
проверка, если /usr/bin/docky
команда запускает docky, вот именно. Это проверит, работает ли docky каждые 2 минуты, если не он запустит docky.