【发布时间】:2013-06-25 13:30:39
【问题描述】:
例如,如果我有一个由 10 个线程组成的池,并且这些线程出去并启动不同的进程(perl 脚本),是否有办法让这些线程“检查”这些脚本以查看它们的运行情况?
有时某些脚本会冻结,我无法知道。所以我一直在想一种方法让线程每隔一段时间检查一次脚本,这样我就可以在脚本挂起时收到通知,这样我就可以开始弄清楚它们挂起的原因并解决问题。
【问题讨论】:
-
知道程序是否“挂起”是一个无法确定(无法解决)的问题,称为“停止问题”。也许你想监控一些更具体的东西?
-
我的想法是检查进程运行了多长时间。如果它的运行时间超过 X 小时,我会采取一些措施
-
当我提出这个建议时,我的编译器教授问我:“如果你再等一会儿?”
-
脚本输出到标准输出或标准错误并且您的 java 程序不读取输出可能是您的脚本挂起的原因。 link
标签: java multithreading