unix - 在Unix中的远程计算机上永久运行的脚本

标签 unix ssh

我在Unix中使用SSH在远程计算机上运行脚本时遇到问题。该脚本将无限期运行直到事件发生,在这种情况下,它将脱离循环。不幸的是,似乎在短时间断断续续的断断续续之后,脚本停止运行。我认为这与SSH有关,因为在运行本地设置时,脚本可以正常工作。

有没有一种方法可以触发我的远程计算机来运行该脚本,就像正在本地运行该脚本一样,以便我可以关闭SSH连接并仍在运行?

调用位于远程计算机上的脚本的脚本是这样的:

 #!/usr/bin/expect set add [lindex $argv 0] set add2 [lindex $argv 1]
spawn ssh -l root2 ${add} /home/jason/localCopy/selfMonitor &
expect *assword: send "BIGMASSIVESECRET\r"
expect "]$ "

selfMonitor脚本中基本上包含一个do while true语句,该语句将永远运行直到损坏。

任何帮助表示赞赏,谢谢。

最佳答案

是的,您可以使用screen完成此操作

  • 登录到远程计算机
  • 通过键入以下内容来启动新的屏幕 session :screen
  • 然后正常运行脚本:./myscript
  • 然后,要分离:Ctrl-A, D

  • 要稍后重新连接,请登录到计算机,然后运行screen -r以重新连接到正在运行的 session 。

    关于unix - 在Unix中的远程计算机上永久运行的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4432115/

    相关文章:

    c++ - 调试问题:(

    c++ - 数据报 Unix 套接字上的 ECONNREFUSED

    amazon-web-services - AWS - 断开连接 : No supported authentication methods available (server sent :publickey)

    SSH – 即使没有 Shell,登录时也强制执行命令

    c++ - 有没有办法在 linux 中编辑 Windows C++ exe 文件

    python - 安排Python程序在给定时间段内休眠

    linux - 人类可读、递归、排序的最大文件列表

    linux - 非登录用户的 .ssh/authorized_keys 文件在哪里?

    Perl Net::SSH::Any 与 key 交换