我创建了一个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