У меня есть сценарий оболочки, который я хочу запустить при загрузке. Каждый раз, когда я запускаю устройство, он запускает скрипт в фоновом режиме. Сценарий содержит цикл while и должен работать постоянно, по крайней мере, до тех пор, пока устройство не будет отключено. Это сценарий:Запуск сценария оболочки Linux при загрузке
#!/bin/bash
cd /home/.../
while true
do
sh ./update_logs.sh
sleep 1
done
После изобилия поисков я придумал слишком много информации, которая сделала салат в моей голове. Я советовал, чтобы получить в эту папку /etc/init.d
и положил мой сценарий там с помощью специального шаблона (LSB-совместимый), который выглядит следующим образом:
!#/bin/sh
start() {
echo "application started";
./helloworld # you should use an absolute path here instead of ./
}
stop() {
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage start|stop";
esac
exit $?
сделать скрипт исполняемым с помощью CHMOD + х, а затем сделать символическая ссылка на файл, набрав ln -s /etc/rc.d/init.d/run_update.sh /etc/init.d/rc5.d/S90run_update
Это должно быть «трудным» способом, в то время как «простой способ» помещает мой скрипт в папку /etc/rc.local
, где он должен загружать мой скрипт после основного процесса загрузки.
Ну, у меня нет такой папки. Что я имею в etc
папке rc.d
, что приводит к подпапок: init.d
rc0.d
rc1.d
rc2.d
... rc6.d
Если решение трудный путь, написав код, указанный выше, чем тот минимум, который мне нужно включить в Это? так как я вижу разные типы кодов, которые включают ### с описаниями и уровнями выполнения У меня есть Linux Red Hat 4.6.3-2.
Посмотрите под '/ и т.д./rc.d'. Должен быть «rc.local». Если нет, вы можете создать его. Другими словами, вам нужен файл сценария '/ etc/rc.d/rc.local', а не папка'/etc/rc.local'. – lurker
Я думал, что мне может понадобиться создать rc.local. Это то, что ОС знакомо? Я просто создаю его с помощью «vi»? –
Да, OS знает об этом. – lurker