【发布时间】:2011-01-25 09:52:54
【问题描述】:
我正在尝试使用 lsof|wc -l 通过 crontab 定期获取打开文件的数量。 它总是返回零。当我直接运行它时,它给出了正确的结果。关于这种奇怪的行为有什么想法吗?它是否与管道尺寸有关,因为结果可能相当大?非常感谢。
卡卡
【问题讨论】:
-
你的 crontab 行是什么样子的?
-
cron 作业正在以您“直接”尝试的同一用户身份运行?
我正在尝试使用 lsof|wc -l 通过 crontab 定期获取打开文件的数量。 它总是返回零。当我直接运行它时,它给出了正确的结果。关于这种奇怪的行为有什么想法吗?它是否与管道尺寸有关,因为结果可能相当大?非常感谢。
卡卡
【问题讨论】:
主要区别在于环境变量。
在这种情况下,它可能是 PATH。 lsof 经常在 /usr/sbin 中找到,当您以交互方式运行它时,它可能在您的 PATH 中,而从 cron 运行时不在 PATH 中。
在您的 cron 脚本中尝试 /usr/sbin/lsof|wc -l。并检查本地邮件,因为cron输出通常在那里发送,可能有相关的错误消息。
是否与管道尺寸有关,因为结果可能相当大?
没有。
【讨论】: