日期:2014-05-16  浏览次数:20678 次

请问在linux的环境下如何监测某项程序是否在运行+如何监测网络可用?谢谢~
需要监测的程序不是自己写的,只知道某些信息,比如HTTP服务,FTP服务等,可否用c语言编写代码,监测该程序的运行状态?比如程序死掉了或不响应了就可以让它重起的?这些需要修改linux代码吗?

另外,如何监测网络是否可用?这些内容应该看什么书来解决啊?

谢谢~~

------解决方案--------------------
具体要用到什么函数我不知道了,但如果这个应用是部署到网络上的肯定是算网络编程的,当然,你也可以测试端口能否响应(其实这和请求某个文件——对于http或者ftp这样的服务——是一样的效果)但请求文件判断的有效性更高,因为简单判断端口有响应并不表示服务对应用的支持是正常的,可能那个端口被其他程序占用了,你能连但不能获取正确回复,而且因为那个应用是黑盒,你也不能定义应用端口响应的系列参数来在端口连接中反馈程序状态,所以更好的是直接模拟应有,如果成功就表示程序正常,如果不成功就表示不正常了,当然,那个获取的文件应该很小,有可能的话可以考虑是程序简单状态的输出(比如小的日志,程序运行号)。