У меня есть сценарий /etc/init.d/startup
, где я делаю следующее:
/var/run/**startup**.pid
У меня нет проблем ни с одним вышеупомянутым, в то время как сервер работает, но когда это загружается, это создает PIDfile и экран с неправильными именами как это:
/var/run/**S92startup**.pid
2058.**S92startup** (11/10/2014 03:56:31 PM) (Detached)
Как я могу присвоить название сценария при начальной загрузке? (не название символьной ссылки в /etc/rc2.d/
)
Прямо сейчас мой сценарий похож на это вначале, и это - то, как я получаю название сценария
SCRNAME=${0##*/}
DAEMON="screen -DmS $SCRNAME /srv/startup/scripts/gprs.sh"
PIDFILE=/var/run/$SCRNAME.pid
PS: это работает правильно, когда я нахожусь на сервере и выполняю "сервисный запуск, запускаются", но не при начальной загрузке.
Проблема в том, что когда скрипт вызывается по символической ссылке,
$ 0
установлен на символическую ссылку, а не на исходный скрипт.
Вы можете сделать это:
SCRNAME=$(readlink "$0" || echo $0)
SCRNAME=${SCRNAME##*/}
readlink
напечатает цель ссылки, если источником является ссылка.