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

linux上的程序怎样远程启动另一个linux系统上的某个程序
A、B两台机器都运行Linux系统。程序P1在A上运行、程序P2在B上运行。(这里假定两个程序使用C实现)
现在A机器上的P1的作用是检查B上的P2是否正常运行,当P2意外退出时,P1就远程重启P2程序。问题是:



1. P1有什么好的办法怎样检测到P2已经挂了(远程检测)?当然如果不考虑使用检测B机器的某个端口或者直接访问其进程文件目录 /proc 这些方法的话;

2. 如果检测到程序已经挂了,P1怎样远程启动P2?

------解决方案--------------------
在B上跑另外一个SOCKET程序,定期kill 0检测B存活情况,如果挂了则给A发包,A确认后让SOCKET程序重新运行B。