LINUX.ORG.RU

Скрипт до конца не срабатывает...


0

0

Написал для себя скрипт, который перед выключением удаляет временные файли и делает
некоторую работу. В урезанном виде выглядит(и тоже САБЖ) так(но и в неурезанном САБЖ):
#!/bin/sh
ON_SHUT=~/scripts/on_shutdown
case $1 in
yes)
#тут была проверка существования $ON_SHUT и его выполнение
killall X &
poweroff;;
edit)
exec vi ${ON_SHUT};;
esac
Происходит следующее: убиваються иксы и... все. Скрипт, по видимому, завершаеться...
Зачем сначала убивать иксы? Чтобы екран не "##!"#"! ошибками иксовых прог при завершении.
Повторяю: в урезанном виде(точно как тут) скрипт также не срабатывает.
Пробовал запускать и через nohup, и через разные disown-ы.(у меня есть скрипт, запускающий прогу без привязки к терм-у, полный аналог run & disown)
На результат не влияет...


anonymous

Ну а если между killall и poweroff поставить sleep(3) например? А зачем именно в фоне иксы мочить? А просто poweroff работает? Может тогда и не в скрипте уже дело...

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

> Если скрипт запустить в X-овой консоли, то так оно и будет

Именно. Потому что убиваемые иксы тянут за собой всех своих потомков, одним из которых и является сей скрипт.

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

>>Если скрипт запустить в X-овой консоли, то так оно и будет >>Именно. Потому что убиваемые иксы тянут за собой Неа! Я же сказал: "пробовал запускать и через nohup, и через разные disown-ы" Тогда этот механизм(тянут за собой) не работает!

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

А если второй вариант попробовать (с отвязкой от терминала)?

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