我创建了一个执行 MySQL 数据转储的小型 Bash 脚本。因为转储可能相当大,我将进程置于后台,然后等待错误或日志显示在文件系统中。我有以下代码:
mysqldump main_db > /loc/to/dmp/file.sql 2>/loc/to/error/log/file.log &
问题是我有时在运行此命令时会得到一个大小为 0 的“/loc/to/error/log/file.log”文件(我认为这意味着没有真正的错误),这会杀死进程,即使有没有错误。
我不确定为什么没有数据要写入时 STDERR 会写入文件。这是因为&
后台进程吗?