【问题标题】:When ssh to remote host, how can I know the bash pid running on remote host?当 ssh 到远程主机时,我如何知道远程主机上运行的 bash pid?
【发布时间】:2019-09-24 04:00:34
【问题描述】:

当我 ssh 到远程主机时,我是否有可能在本地计算机中获得远程 bash pid?反之亦然?

在本地终端,我只是这样做:

ssh user@remote.com

例如,我知道本地机器中的 ssh pid:

ps faux
...
shunh    32683  0.1  0.0 121148  5116 pts/2    Ss   07:02   0:00  \_ -bash
shunh    33079  0.6  0.0 189360  8484 pts/2    S+   07:03   0:00      \_ ssh -X remote_host

在远程主机中:

ps faux
...
root     214679  0.0  0.0 158820  5724 ?        Ss   07:03   0:00  \_ sshd: shunh [priv]
shunh    214681  0.0  0.0 158820  2556 ?        S    07:03   0:00      \_ sshd: shunh@pts/1
shunh    214682  0.0  0.0 121124  3608 pts/1    Ss   07:03   0:00          \_ -bash

我想知道我是否可以在本地机器上读取 pid 号“214682”?

【问题讨论】:

  • 这可能是一个很好的问题可以产生很好的影响,但你问错了地方。所以这里不允许这样的问题,你应该寻找其他社区来问这个问题。您可以询问服务器故障。谢谢
  • 谢谢,基兰。我会在那里发布另一个线程。

标签: bash ssh pid


【解决方案1】:

ssh user@remote.com 'echo $$'

请参阅 Bash 手册,3.4.2 Special Parameters

$

($$) 扩展为 shell 的进程 ID。在 () 子shell中,它扩展为调用shell的进程ID,而不是子shell。

【讨论】:

  • 接下来的挑战是,如果您的 Shel 运行时间延长并产生其他输出,您如何将其传达回调用方?
  • 谢谢,我知道我可以在远程主机中使用 $$ 来获取它的 pid。但我需要从我的本地机器上知道这一点。
  • @tripleee 将此 pid 写入任何文件,然后打开另一个本地 shell 以 ssh 到远程主机以获取它。
  • @donkey1120 你为什么要得到这个 pid?你想达到什么目的?如果提供更多细节,可能会有简单的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-25
  • 1970-01-01
  • 2021-11-25
  • 2021-05-29
  • 2018-03-26
  • 1970-01-01
相关资源
最近更新 更多