从现在起5秒后执行命令`

作为稍微复杂的脚本的一部分,我需要告诉服务器运行模拟。通常,我会这样做ssh user@server

'simulation/script'。但是,这样做会使ssh会话保持活动状态'simulation/script',直到完成为止,这对我来说是不希望的。

我最近了解了该at命令,它似乎很适合我的问题。

我现在要执行的操作是将ssh插入服务器,并at在5秒钟内运行模拟脚本(足够多的时间关闭ssh连接)。因此,一旦ssh连接在5秒钟内关闭,服务器将启动仿真,而无需ssh连接保持活动状态。

我遇到的麻烦是at安排工作“从现在开始5秒”所需的时间表达

我尝试了以下时间表达式,所有这些都给我带来错误:

now + 5 seconds

now + 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

回到顶部