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

Unix下 写了一个程序如何控制另一个程序的执行过程

现在实验室服务器上运行的程序需要用户键入来控制启动、停止、加卸载等,现在想写一个监控程序安装在服务器上,用来监视服务器和程序的运行状态,同时,做一个客户端与监控程序通信,通过监控程序来控制服务器上程序的启动、停止、加卸载等,请问监控程序应该通过什么方式来控制服务器上的程序? 希望控制的方法不需要服务端做太大的改动,因为挺难改的。

------解决方案--------------------
你可以把你的服务器程序作为你的监控程序的子进程,通过父进程来控制服务程序的启动、停止、加卸载等;另一种方式,监控程序使用shell命令来控制。
------解决方案--------------------
有看过/etc/init.d/目录下的东西吗,那里面全是启动脚本。
简单的做法就是周期性检查服务进程在不在。
------解决方案--------------------
socket  
signal
name pipe
share memery
.....

这些都可以实现进程间通信