У меня есть консольное приложение .NET Core 3.0, работающее на сервере Ubuntu 18.04.В моей домашней папке есть простой скрипт запуска, который называется my-app.sh
:
cd /home/service/my-app
./My-App
Я хотел запустить файл после перезагрузки, поэтому я создал cronjob для скрипта запуска, используя crontab -e
:
@reboot /home/service/my-app.sh
После перезагрузки MyApp прекрасно работает.Но при повторном вызове df
я заметил, что свободное место на диске /
непрерывно уменьшается!Я пытался выяснить, какой это файл, но ncdu
не показывал никакой разницы во времени.Я не пишу файл в MyApp, то есть общий размер /home/service
не увеличивается * .Примерно через 10 минут все свободное пространство исчезло, и система закрыла MyApp.
Когда я отменяю MyApp после перезагрузки, я вижу, что «утечка памяти» немедленно прекращается.Но: Когда я перезапускаю MyApp вручную, утечка памяти больше не возникает.
Теперь я попытался удалить cronjob и вместо этого добавил файл запуска в файл /etc/local.rc
:
# Start MyApp
su service -c 'sh /home/service/my-app.sh' &
Опять же, все началось отлично после перезагрузки, а также нет утечки памяти больше.
Я понятия не имею, в чем может быть проблема.Нет проблем при запуске вручную или с /etc/local.rc
, но только при запуске cronjob.Есть идеи, в чем может быть проблема?