如何检查hup信号是否完成除日志解析之外的其他进程?

时间:2014-03-05 11:44:24

标签: unix solaris

我有一个进程正在运行,我需要发送HUP信号并确认它是否完成。

pkill HUP [process]

我目前使用日志文件,但我需要处理很多事情 同样的日志文件用hup done消息更新100次,我必须解析最新的hup等等。

如果hup触发并完成,是否设置了任何标志设置或系统事件?

是否有人在进程中执行hup信号等检查并检查它是否真的完成了?

感谢回复

1 个答案:

答案 0 :(得分:0)

您可以使用dtrace来查看使用proc:::signal-handle探针处理的信号。可以在the dtrace proc provider documentation中找到类似探针的列表。

这是一个示例,它将监视由特定进程ID处理的SIGHUPdtrace非常灵活,还可以使用给定名称或用户ID监视所有进程。

# cat sig.d
proc:::signal-handle
/ pid == $1 && args[0]==SIGHUP /
{
  printf("pid %d - %s - got signal %d at %Y\n", pid, execname, args[0], walltimestamp);
}
# sleep 300 &
1054
# dtrace -q -s sig.d 1054 &
1057
# kill -HUP 1054
# pid 1054 - sleep - got signal 1 at 2014 Mar 13 10:31:03
1054 Hangup
#