ada*_*ign 3 memory shell-script
所以,我有一个用于更新 MySQL 数据库的 shell 脚本,它看起来像这样:
#!/bin/sh
mysql -h "localhost" -u "root" "-p********" "database" < "update.sql"
sleep 5
sh $0
Run Code Online (Sandbox Code Playgroud)
它休眠 5 秒钟,然后sh $0无限地重新运行脚本,无需我的干预。但是,我的问题是关于内存的:
我对 shell 脚本比较陌生,但是内存是否像这样在循环中缓慢堆积?远程服务器是否回收内存,或者脚本最终会达到截止点?(或者,它会因内存泄漏而崩溃吗?)
这不是循环,而是递归和内存随时间线性增加,这是您不想要的。
如果你想要一个内存使用量恒定的循环,你可以这样做:
#!/bin/sh
while 1; do
mysql -h "localhost" -u "root" "-p********" "database" < "update.sql"
sleep 5
done
Run Code Online (Sandbox Code Playgroud)