通过PID操纵ssh上的进程

前端之家收集整理的这篇文章主要介绍了通过PID操纵ssh上的进程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设在服务器上运行了一个进程(PID 1501).服务器有firefox打开(如1501)..从远程计算机,我想发送命令到PID 1501(例如1501 -new-tab).我如何在ssh上运行该命令?

TLDR:如何将命令行参数发送到特定的pid?

通常,您不能将命令行参数发送到特定的pid.

Firefox拥有自己的远程/命令系统设置,允许您将-new-tab命令之类的内容发送到正在运行的实例.我看了它已经有一段时间了,但我相信它只是依赖于将DISPLAY变量设置为与firefox运行的变量相匹配.

EG,在服务器上,您可能将DISPLAY设置为:0.0(第一个本地X显示).您可以通过运行来检查

echo $DISPLAY

从服务器本身X内的终端.如果这是正确的,那么你应该能够以运行X和firefox的同一用户ssh进入服务器,将你的DISPLAY设置为:0.0,然后运行firefox -new-tab http://blah/

ssh user@server
export DISPLAY=:0.0
firefox -new-tab http://blah

但是,当我这样做时,它通常以另一种方式工作 – 我在我的本地机器上运行firefox,我ssh到远程系统,无论出于什么原因运行firefox -new-tab,它会打开一个新的选项卡firefox在我的本地机器上运行.没有理由它不应该反向工作,但它有点复杂.

更新我刚刚通过sshing到另一台机器测试了这个,然后回到我的本地机器,它肯定按照建议工作. ssh在与已运行firefox的用户名相同的情况下,正确设置DISPLAY变量,然后firefox远程命令将起作用.

猜你在找的Bash相关文章