LINUX.ORG.RU
ФорумAdmin

Скрипт - работа в фоновом режиме

 , , ,


0

2

Добрый день! Есть скрипт запуска (smsd). /usr/sbin/smsd -u root -p 'MoiSuperParol' -d smsgw -c localhost -m mysql -b MT -f /var/log/smsdaemon.log Данная команда запускает smsd и он работает только при открытой консоли. Как заставить работать команду в фоновом режиме? Заранее спасибо!

nohup.

Во многих дистрибутивах во времена старого init были всякие start-stop-daemon.

Если интересно, как это работает, можешь сам написать такого демонизатора, в минимальном варианте на си он анимает строк 50.

staseg ★★★★★
()

Напиши юнит для сустемд.

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

во времена старого init были всякие start-stop-daemon

Не поверишь, он и сейчас есть.

no-such-file ★★★★★
()

nohup /usr/sbin/smsd <args> &

Для уже запущенного: Ctrl-Z, bg, disown.

А при загрузке запускать - выше перечисляли. rc.local, start-stop-daemon, runit и т.п.

anonymous
()

nohup должно хватить, но для полноты картины упомяну screen

zolden ★★★★★
()
# cat /etc/systemd/system/smsd.service
[Service]
ExecStart=/usr/sbin/smsd -u root -p 'MoiSuperParol' -d smsgw -c localhost -m mysql -b MT -f /var/log/smsdaemon.log
[Install]
WantedBy=multi-user.target
# systemctl enable /etc/systemd/system/smsd.service
# systemctl start smsd
legolegs ★★★★★
()
Ответ на: комментарий от atenuouslead

2> /dev/null < /dev/null

Это сам nohup делает. С stdout вот зачастую всех достаёт этот nohup.out, могли б и сделать на /dev/null опцией. :)

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

Так лучше, но есть одна тонкость, пока не закрыли сессию у этого демона есть управляющий терминал. Потому и придумали команду setsid. Вот только насчёт стандартности её есть сомнения.

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