LINUX.ORG.RU
ФорумMobile

не выполняется скрипт в фоне на Андройде

 ,


0

1

Добрый день. Открываю шелл на рутированный Андройд, загружаю скрипт на bash`е, переключаюсь с помощью su на рута и запускаю скрипт в фоне (sh script.sh &). Скрипт должен работать постоянно в бесконечном цикле. После закрытия шелла скрипт перестает работать.

Не силен в понимании работы ОС Андройд. Это нормально что скрипт перестает работать? Можно как то обеспечить постоянную работу скрипта?

..пасибо.


Да, это нормально. У процесса скрипта есть родительский процесс - командная оболочка в твоем случае. Когда родительский процесс умирает, система убивает все его дочерние процессы.

Способов как сделать фоновый процесс много. Чтобы посоветовать тебе что-то правильное, сначала скажи что скрипт делает.

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

А программа постоянно работает в системе, или ты ее периодически запускаешь на небольшое время, а потом закрываешь?

Если на небольшое время, то я не вижу проблемы если будет открытsм терминал с чистилкой логов.

Если постоянно работает, то как раз для таких целей был создан logrotate; там и по времени есть, и по размеру. Еще есть incron - может реагировать на создание файла, запись в файл и т. п.

Это на классическом линуксе.

Я бы тебе очень рекомендовал попробовать настроить что-то из выше перечисленного.

Прямой ответ на твой вопрос - nohup. Но это костыль, и с ним можно больше проблем поиметь.

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

Это первое, а второе, что в андроиде все больше ограничивают фоновую работу. Без прав root, например, такие приложения пытаются закрепить отдельную службу в области уведомлений.

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

Я, наверно, не совсем корректно описал проблему. ВСЕ логи должны быть сохранены. Перезапись не допускается.

incorn - за это большое спасибо. Это я посмотрю обязательно. Не знаю как будет работать на Андройде.

nohup - почитал, согласен что костыль. Попытаюсь решить через incorn.

Очень благодарен за помощь.

AlCat ()