我的unix生产服务器有test.ksh文件,但每天都在使用job运行日常基础知识。 我想知道哪个crontab作业正在调用此脚本。我检查了以下命令,但我找不到确切的工作名称,
crontab -l - 已被列入100个职位 - 我已经分析了上面提到的100个工作,但我没有得到test.ksh文件
crontab -l | grep“test.ksh” - 找不到文件
但是文件在一个目录中可用,我找不到哪个作业叫做test.ksh脚本。
查找: 1.这是否是孩子的工作? - 如果是,我如何识别儿童工作?
答案 0 :(得分:0)
如果是子脚本,请使用ps -ef
并使用test.ksh作业的ppid标识调用脚本。
例如,考虑这两个脚本,第一个只调用第二个
<强>父强>
#! /bin/sh
# Run child process
./child
儿童强>
#! /bin/sh
sleep 60
ps -ef
显示(删除了很多其他进程)
UID PID PPID C STIME TTY TIME CMD
501 5725 5724 0 8:22pm ttys000 0:00.28 -bash
501 6046 5725 0 11:38am ttys000 0:00.01 /bin/sh ./parent
501 6047 6046 0 11:38am ttys000 0:00.00 /bin/sh ./child
501 6048 6047 0 11:38am ttys000 0:00.00 sleep 60
pid是进程标识符,因此子进程ID为6047.其ppid - 6046 - 是其父进程的进程ID,您可以看到查看父进程的条目。
答案 1 :(得分:0)
您可以使用pstree -p xxxx
,其中xxxx
是crond
的pid。然后,您将获得crond
的所有后代流程的良好分层概述。