У меня есть вопрос по работе со /etc/init.d
скриптом оболочки.
Все, что мне нужно сделать, это удалить файл из команды внутри скрипта оболочки, например так:
case $1 in
stop)
echo "Stopping"
rm -f /var/run/memcached/memcached.pid
esac
Я сохраняю его как тест и создаю memcached.pid
файл.
Когда я запускаю /etc/init.d/test
stop со скриптом из /etc/init.d/
папки, memcached.pid
файл не удаляется.
Когда я запускаю скрипт из своего домашнего каталога, он работает нормально.
Нужен ли какой-то особый формат или структура команды?
решение1
Используйте полный путь к rm; убедитесь, что он такой же в вашей системе:
/usr/bin/rm -f /var/run/memcached/memcached.pid
В сценариях init обычно не задана переменная окружения PATH (или root).