我有一个perl文件(例如:test.pl),它执行一些数据库操作。
在测试时,它的工作正常。
我使用命令
将此文件作为后台进程执行perl test.pl &
它正常工作了几天。
但是几天之后,文件执行就会停止。
如何查找原因或查看错误?
我检查了日志文件“/ var / log / httpd / error_log”,但找不到任何内容。
我将perl文件保存在服务器中,该服务器在Cent OS中运行。
有人有想法吗?
答案 0 :(得分:6)
但是你可以定义要保存的输出的目的地,只需像这样运行你的脚本:
perl test.pl >> /var/log/some-log-file.log 2>&1 &
这会将STDOUT
(正常的shell输出)和STDERR
(错误输出)重定向到/var/log/some-log-file.log
而不是终端。
您可能还希望使用nohup
让脚本忽略HANGUP
(注销)信号,这可能会导致意外终止:
nohup perl test.pl >> /var/log/some-log-file.log 2>&1 &
显然,无论您运行该脚本的用户是否需要具有对日志文件的写入权限。