php - 我怎样才能看到正在运行的 Cronjobs?

标签 php linux cron

我有在预定时间执行 PHP 文件的 cronjobs。这些纸条可能需要一个多小时才能完成。我希望能够物理监控脚本。当然,我有日志和很多处理错误的方法,但有时我只是想看看发生了什么。

以前我在 Windows 上执行此操作,我会安排一个任务,该任务将在一个 shell 中启动,该 shell 在任务运行时保持打开状态。

我可以在 Linux 上执行此操作吗?使用SSH?也许像在 cron 中使用 screen 一样?我使用的是 AWS 版本的 Linux。

谢谢。

最佳答案

最简单(虽然有点脏)的方法是在 crontab 中设置一个环境变量:

* * * * * THIS_IS_A_CRON=1 /path/to/script

然后,查看它们是否在您的机器上运行:

ps auxe | grep THIS_IS_A_CRON

这将列出所有使用 THIS_IS_A_CRON 环境变量启动的进程(如果有的话)

如果您所追求的只是一个窗口,您可以在其中看到脚本运行时的输出,那么这与拥有以下内容并没有什么不同:

* * * * * /path/to/script 2>&1 >> /random/output/file.txt

然后打开tail文件的终端:

tail -100f /random/output/file.txt

关于php - 我怎样才能看到正在运行的 Cronjobs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28174549/

相关文章:

php - 更改行值 onclick html 表,如 phpMyAdmin

php - 登录后重定向到原始页面(Codeigniter)

java - Linux,java.lang.UnsatisfiedLinkError : no "library file" in java. library.path

c - 它是如何工作的? pthread_cond_signal() 和 pthread_cond_wait()

javascript - 如何从终端运行带有嵌套 javascript 的 php 脚本(Linux)

php - 覆盖 $_SESSION 变量类型时的奇怪问题

c - 如何使用 Linux 最快的方式写入二进制文件?

concurrency - 如果当前作业未完成,Cron 会开始新的作业吗?

linux - Cronjob logrotate 不执行

php - 追踪 CakePHP 中的错误函数调用