当前位置: 技术问答>linux和unix
linux上的程序怎样远程启动另一个linux系统上的某个程序
来源: 互联网 发布时间:2017-01-15
本文导语: A、B两台机器都运行Linux系统。程序P1在A上运行、程序P2在B上运行。(这里假定两个程序使用C实现) 现在A机器上的P1的作用是检查B上的P2是否正常运行,当P2意外退出时,P1就远程重启P2程序。问题是: 1. P1有什么...
A、B两台机器都运行Linux系统。程序P1在A上运行、程序P2在B上运行。(这里假定两个程序使用C实现)
现在A机器上的P1的作用是检查B上的P2是否正常运行,当P2意外退出时,P1就远程重启P2程序。问题是:
1. P1有什么好的办法怎样检测到P2已经挂了(远程检测)?当然如果不考虑使用检测B机器的某个端口或者直接访问其进程文件目录 /proc 这些方法的话;
2. 如果检测到程序已经挂了,P1怎样远程启动P2?
现在A机器上的P1的作用是检查B上的P2是否正常运行,当P2意外退出时,P1就远程重启P2程序。问题是:
1. P1有什么好的办法怎样检测到P2已经挂了(远程检测)?当然如果不考虑使用检测B机器的某个端口或者直接访问其进程文件目录 /proc 这些方法的话;
2. 如果检测到程序已经挂了,P1怎样远程启动P2?
|
在B上跑另外一个SOCKET程序,定期kill 0检测B存活情况,如果挂了则给A发包,A确认后让SOCKET程序重新运行B。