我有一个 .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 启动时。知道可能是什么问题吗?