我对linux和这个论坛非常陌生。我正在为一个客户解决一个问题,他们有10+ Red Hat Linux5.5 64位服务器。他们希望在某些服务器上使用stop脚本(该脚本使用'kill -15')停止tomcat进程,该脚本运行良好,并在几秒钟内停止tomcat进程。在一些服务器上,有时它会很快停止,有时它会持续运行几分钟,最后客户不得不使用'kill -9‘命令来停止tomcat。日志不会显示任何内容。
你知道为什么这个脚本会有间歇性的行为吗?我们怎样才能在日志中捕获它呢?
while(variable > 0){
updatevariable(); //variable gets updated from UDP serevr.
// i want to execute a shell command here without blocking current execution.
} 我尝试使用system()函数,但它阻塞了当前的执行,如果条件不满足,我应该能够停止shell命令,而不应该等到shell命令完成执行。(我使用的外壳命令是rtl_fm,它不会停止执行,直到我们手动停止它)。我专门为linux OS编写了这段代码。我确切地知道,
我已经完成了我的程序mainApp,它拥有main()方法,main()创建了5个线程,线程做了一些操作。等等。
现在我想知道我的程序是不是崩溃了。因此,我将监视我的mainApp是否正在工作或已停止。如果停止,我将重新启动/重新启动整个系统。
mainApp和监控程序必须同时运行,监控程序应该检查mainApp的状态。
有什么建议请提出来。
PS: im om linux kernel 2.6.29。