`atq` 列出了一个作业,即使它是昨天执行的

`atq` 列出了一个作业,即使它是昨天执行的

我创建了一个at使用该标志执行脚本的作业-f。该脚本重新启动 tomcat。该工作原定于Feb 21 18:00:00 2022昨天执行。我刚刚确认tomcat当时重新启动了。然而,当我今天执行时atq,我得到:

3   Mon Feb 21 18:00:00 2022 = alexander

我的理解是atq只列出pending工作。为什么我昨天的工作会被列出?

更新:

我刚刚检查了我的脚本,它包含tail最终永远不会退出的内容。这可能会导致这份工作永远无法辞职。我发现输出位于/var/spool/at/spool/a0000301a27604.但该文件的最后修改时间是2022-02-21 23:40:33.534191768。我刚刚发现这就是尾部的最后一个输出到达的地方。如何获取仍在运行的任务的进程号?

答案1

对于您问题的最新版本,“如何获取仍在运行的任务的进程号?

pgrep atd
525

pstree -p 525
atd(525)───atd(6729)───sh(6738)───sleep(6739)

或者,安全地将两个命令组合在一起

pgrep atd | xargs -n1 -r pstree -p

相关内容