首页 / 知识
关于bash:让ssh在目标计算机的后台执行命令
2023-04-13 07:15:00

Getting ssh to execute a command in the background on target machine这是shell脚本中如何使用ssh的后续问题?问题。如果我想在远程机器上执行一个在该机器后台运行的命令,如何让ssh命令返回?当我尝试只在命令末尾包含和号(&;)时,它将挂起。命令的确切形式如下:
有什么想法吗?需要注意的一点是,登录到目标计算机总是会生成一个文本横幅,并且我设置了ssh密钥,因此不需要密码。 我在一年前写的一个程序中遇到了这个问题——结果发现答案相当复杂。您需要使用nohup以及输出重定向,正如在nohup上的wikipedia artcle中所解释的,为了您的方便复制到这里。
这是对我来说最干净的方法:
在这之后唯一运行的是远程机器上的实际命令 重定向FD 输出需要使用 最好的方法是使用
诺霍普壳牌 您也可以直接使用nohup来启动shell:
尼斯发射 另一个技巧是使用nice启动命令/shell:
我只想展示一个可以剪切和粘贴的工作示例:
如果您不能/不能保持连接打开,您可以使用屏幕,如果您有权安装它。
分离屏幕会话:ctrl a d 要列出屏幕会话:
要重新附加会话:
请注意,屏幕还可以在每个会话中创建多个shell。使用TMUX也可以达到类似的效果。
分离TMUX会话:ctrl bakbd d 要列出屏幕会话:
要重新附加会话:
默认的tmux控制键"ctrl bakbd"有点难以使用,但有几个示例tmux配置随tmux一起提供,您可以尝试使用。 最快和最简单的方法是使用"at"命令:
我想你得把这些答案结合起来才能得到你想要的。如果将nohup与分号结合使用,并用引号将整个内容括起来,则可以得到:
这似乎对我有用。使用nohup,不需要将&;附加到要运行的命令。此外,如果不需要读取命令的任何输出,则可以使用
将所有输出重定向到/dev/null。 这对我很有用,五月的时候:
实际上,每当我需要在一台复杂的远程机器上运行一个命令时,我喜欢将该命令放入目标机器上的一个脚本中,然后使用ssh运行该脚本。 例如:
然后我在源计算机上运行这个命令:
你可以这样做…
我试着做同样的事情,但是增加了复杂性,我试着用Java来做。因此,在运行Java的一台机器上,我试图在另一台机器上运行脚本(在后台)(NoHUP)。 在命令行中,这是有效的:(如果不需要-i keyfile来ssh到主机,则可能不需要它)
注意,对于我的命令行,在"-c"后面有一个参数,所有参数都用引号括起来。但要在另一端工作,它仍然需要引号,所以我必须在其中放入转义引号。 从Java,这里是什么工作:
这项工作花了一点时间,但现在看来工作得很好。 我想这就是你需要的:首先,您需要在您的机器上安装
首先遵循以下步骤: 以用户A身份登录并生成一对身份验证密钥。不要输入密码:
现在使用ssh在b上创建一个目录~/.ssh作为用户b(该目录可能已经存在,这很好):
最后将a的新公钥附加到b@b:.ssh/授权的密钥,最后输入b的密码:
从现在起,您可以从A以B身份登录到B,而不需要密码:
这样就不用输入密码了 ssh b@b"cd/some/directory;要执行的程序&; |
最新内容
相关内容
python如何让程序暂停执行和继续执
python如何让程序暂停执行和继续执行?,暂停,培训,程序,继续,空格键,函数,以上,操作,方法,更多,python让程序继续执行的方法:一、使用到的函数python脚本中有乱码怎么解决
python脚本中有乱码怎么解决,代码,培训,脚本,乱码,中文,下面,英语系,源文件,语句,源码,有时候,在Python脚本里有中文的时候,会报下面的错误:Non-python如何获取程序执行时间?
python如何获取程序执行时间?,代码,培训,标准,程序,方法,中间,使用方法,以上,手册,更多,python获取程序执行时间的方法:1、使用time.clock()方Python脚本如何使用
Python脚本如何使用,培训,脚本,文件,文件名称,路径,命令,下面,窗口,以上,更多,python脚本的使用方法如下:1、首先编写脚本文件,命名成一个.py文Python怎么运行shell脚本
Python怎么运行shell脚本,培训,命令,文件,方法,脚本,文件夹,对象,建议,结果,内容,Python作为一门脚本语言,有时候需要与shell命令交互式使用,在批处理怎么执行Python程序
批处理怎么执行Python程序,培训,方式,文件,程序,脚本,文件夹,路径,命令,以上,格式,批处理执行Python程序的方式:第一种方式:@echooffC:cdC:\Upython脚本怎么自动生成文件
python脚本怎么自动生成文件,工作,名字,通用,培训,文件,脚本,内容,参数,关系,中将,python脚本自动生成需要文件在工作中我们经常需要通过一个python执行报错有哪些原因
python执行报错有哪些原因,时报,培训,横线,标点符号,错误,原因,目录,法名,程序,都会,python执行时报错,可能是以下的几种原因1、运行出现objec如何中断python的执行
如何中断python的执行,暂停,时间,培训,模块,语句,可能会,有所不同,长短,上下,手段,在Python3中已经有很大一部分语句与Python2不互通了,运行暂pythonmac如何启动python脚本
pythonmac如何启动python脚本,培训,脚本,文件,终端,权限,以上,目录,更多,内容,mac下执行python脚本主要分为以下四步:首先,在python文件里首行pythonlinux如何执行python
pythonlinux如何执行python,培训,代码,脚本,文件,文本,权限,之后,绝对路径,程序,头部,linux运行python脚本的方法:1、命令行执行:建立一个test.python怎么执行命令
python怎么执行命令,代码,环境,培训,系统,工作,命令,路径,操作系统,程序,空格,Python的命令提示符是在操作系统中,提示进行命令输入的一种工作