从现在起5秒后执行命令`
作为稍微复杂的脚本的一部分,我需要告诉服务器运行模拟。通常,我会这样做ssh user@server
'simulation/script'。但是,这样做会使ssh会话保持活动状态'simulation/script'
,直到完成为止,这对我来说是不希望的。
我最近了解了该at
命令,它似乎很适合我的问题。
我现在要执行的操作是将ssh插入服务器,并at
在5秒钟内运行模拟脚本(足够多的时间关闭ssh连接)。因此,一旦ssh连接在5秒钟内关闭,服务器将启动仿真,而无需ssh连接保持活动状态。
我遇到的麻烦是at
安排工作“从现在开始5秒”所需的时间表达
我尝试了以下时间表达式,所有这些都给我带来错误:
now + 5 secondsnow + 5 sec
now + 5 s
now + 5seconds
now + 5sec
now + 5 s
now+5sec
now+5seconds
now+5s
如何获得at
“从现在起5秒钟”运行命令的信息?
回答:
在没 几秒钟 的时间:
man at
说过 :
*
日期说明必须遵循一天中时间的说明。您还可以给出类似现在的时间+计算时间单位,其中时间单位可以是分钟,小时,天或周,并且您可以告诉我们今天的工作,在今天加上后缀,明天开始工作在明天加上时间。
因此at
,您可以使用一个sleep
我认为的代替。
看到 man 1 sleep
如果您想ssh user@server 'simulation/script'
不等待就运行,只需执行以下操作:
ssh user@server 'simulation/script' &
该命令将在后台运行。
而且,正如Rawkode所说,这nohup
将对您有所帮助。
所以最后:
nohup ssh user@server 'simulation/script' &
使用nohup,您可以退出终端并ssh
继续运行。
EDIT
:如果要运行ssh
命令并关闭连接:
ssh user@server 'simulation/script &'
以上是 从现在起5秒后执行命令` 的全部内容, 来源链接: utcz.com/qa/411130.html