我是一个来自意大利的计算机科学专业的学生,我必须做一个基于修改的版本的D.J.Bernstein的Daemontools的项目,它必须在Unix下实现远程过程调用。
通常,使用以下语法的工具可以获得一个守护进程:
svc -u /service/NameOfDaemon下面是这个:
svc -d /service/NameOfDaemon这样我就可以在本地控制一个守护进程。其思想是添加一个代码块,以便能够控制位于远程计算机上的守护进程,这将是理想的语法:
svc -u IP/service/NameOfDaemon其中IP代表目标机器的实际IP,用户知道。
在这些天里,我搜索并了解了RPC和DTools,但是我有点被困住了,有人能帮我开始吗?
也许也有人推荐我的项目阅读?
发布于 2011-06-05 18:26:40
unix这样做的方式是:
ssh -n root@remotehost svc -u /service/NameOfDaemonunix哲学是关于创建一些小工具,这些工具可以很好地完成一件事情,并与其他工具一起工作。svc是一种可以在本地机器上控制守护进程的工具。ssh可以在远程机器上运行工具。不需要另一种工具。
如果您绝对必须有一个可以同时控制本地和远程守护进程的命令,那么正如Chris建议的那样,您可以编写一个shell脚本,根据需要运行svc或ssh。
发布于 2011-06-05 17:47:05
supervise使用Unix域套接字接收请求.使用Unix域套接字的优点是可以通过通常的文件系统权限来控制对它的访问--在本例中,它只允许根访问套接字,因此通常必须以根用户的身份运行svc。
但是,一旦您通过网络,您就必须考虑网络身份验证(除非您希望任何Tom、Dick和Harry启动和停止您的服务)。如果你能解决这个问题,剩下的就很简单了:
tcpserver上的服务,该服务可以在远程计算机上为您调用svc。如果tcpserver提供的访问控制对您来说是足够的,那么很好而且很好;否则您的服务必须处理剩余的内容。tcpserver命令行上指定tcpserver)。相反,只需更改supervise套接字的(组)所有权,这样服务运行的用户就可以读取和写入它们。
svc周围的客户端上编写一个shell脚本。它检查“远程服务器”语法,如果使用,它将连接到远程服务(否则只会像往常一样调用svc )。https://stackoverflow.com/questions/6244616
复制相似问题