addprocs() 后如何获取进程的详细信息

当我在远程计算机创建了数个进程后,返回了进程 id,我想知道某个进程所属的计算机的 ip 地址等信息,请问可以做到吗。

addprocs([("Usr@hostname", 2)], shell = :wincmd)

2-element Vector{Int64}:
 2
 3

这里是在远程计算机添加两个进程,使用的内置的 SSHManager,没有做其他处理。此时我想获取这两个进程的信息,需要做什么操作才能实现。

Julia版本:1.7.2
本机:Win10
远程计算机:Win10虚拟机

在 Distributed 库的 cluster.jl 里找到了方法,但是似乎是未对外暴露的函数,只 using Distributed 无法使用,想请问一下为什么要这样设计。

怎么看?我有同样的疑问。windows你是怎么实现ssh服务的?

这里没有什么特殊的设计原因吧,主要是对外暴露的接口里,会把这些底层的信息屏蔽掉了,需要获取具体信息的时候,可以再通过 @spawn 去拿

设置里搜 添加可选功能

1、获取进程信息我是这样做的。

using Distributed: worker_from_id
w = worker_from_id(pid)

w 就是根据进程 id 获取的进程,w.id 即可获取进程 id,其他信息或者你想调用的函数你可以看下 Distributed 库的 cluster.jl 源码(这种方法不知道合不合理)。

2、Windows 开启 SSH 服务
设置-应用-应用和功能-可选功能-添加功能,添加 OpenSSH 客户端和 OpenSSH 服务器。管理员权限启动 cmd,运行 net start sshd 就可以开启 SSH 服务了。