我可以删除 nohup.out,因为它停止写入了吗?
can i delete nohup.out, Because it stopped writing?
我在后台的 AWS Lightsail linux 服务器中执行了一段 python 代码
它包含 5M 记录插入,每次插入后我都添加了日志。
我在 852 之后没有看到日志输出。
我可以看到我的进程还在运行后台
如果我删除 nohup.out 文件,它会用新日志重新创建该文件吗?
如何查看 python 代码的实际日志?
我假设您是这样使用 nohup
启动程序的:
nohup your_program maybe some arguments &
nohup
命令会将输出重定向到 nohup.out
,然后再启动您的程序 。您的程序不知道输出已重定向。这就是为什么你不能让它重新创建输出文件 nohup.out
.
如果删除 nohup.out
,您只会删除目录条目。在您的程序终止(或关闭 stdout
和 stderr
)之前,该文件仍将作为 inode 存在于您的磁盘上并包含所有数据,但您无法再通过其名称访问该文件。
如果您没有看到任何新的输出,则您的程序没有产生任何输出。请注意,输出可能已被缓冲,因此只有当程序写入一定数量的数据时,它才会出现在文件中。
你必须检查你的程序在做什么。它可能以某种方式被阻止,或者您的程序中可能有错误。
或许您可以使用 strace
检查您的程序完成了哪些系统调用。
我在后台的 AWS Lightsail linux 服务器中执行了一段 python 代码 它包含 5M 记录插入,每次插入后我都添加了日志。 我在 852 之后没有看到日志输出。
我可以看到我的进程还在运行后台
如果我删除 nohup.out 文件,它会用新日志重新创建该文件吗? 如何查看 python 代码的实际日志?
我假设您是这样使用 nohup
启动程序的:
nohup your_program maybe some arguments &
nohup
命令会将输出重定向到 nohup.out
,然后再启动您的程序 。您的程序不知道输出已重定向。这就是为什么你不能让它重新创建输出文件 nohup.out
.
如果删除 nohup.out
,您只会删除目录条目。在您的程序终止(或关闭 stdout
和 stderr
)之前,该文件仍将作为 inode 存在于您的磁盘上并包含所有数据,但您无法再通过其名称访问该文件。
如果您没有看到任何新的输出,则您的程序没有产生任何输出。请注意,输出可能已被缓冲,因此只有当程序写入一定数量的数据时,它才会出现在文件中。 你必须检查你的程序在做什么。它可能以某种方式被阻止,或者您的程序中可能有错误。
或许您可以使用 strace
检查您的程序完成了哪些系统调用。