ssh远程执行linux命令nohup

worktile 其他 70

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    使用ssh远程执行Linux命令nohup时,可以按照以下步骤进行操作:

    1. 打开终端,输入以下命令进行远程连接:
    “`
    ssh username@remote_host
    “`
    其中username是远程主机的用户名,remote_host是远程主机的IP地址或者域名。

    2. 输入密码登录到远程主机。

    3. 在远程主机上,运行以下命令来执行nohup命令:
    “`
    nohup your_command &
    “`
    其中your_command是要执行的Linux命令。加上`&`符号表示在后台执行。

    4. 当命令开始执行后,你可以关闭终端窗口,命令将继续在远程主机上执行。

    5. 如果你想在后台执行的命令已经开始运行,并且你想查看它的输出,可以使用以下命令:
    “`
    tail -f nohup.out
    “`
    这将实时显示nohup命令的输出。如果命令没有产生nohup.out文件,你可以使用以下命令:
    “`
    tail -f nohup.log
    “`
    或者根据你的命令自行指定输出文件。

    使用nohup命令可以使命令在后台运行,即使你离开终端,也能够持续执行。这对于需要运行时间较长的命令或者需要长时间监视的任务非常有用。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    SSH是一种安全的远程登录协议,可以通过该协议远程执行Linux命令。nohup是一个Linux命令,用于在后台运行命令,即使用户注销或断开SSH连接,命令仍然会继续运行。本文将介绍如何使用SSH远程执行Linux命令nohup,并提供一些相关的注意事项和实际应用场景。

    1. 使用SSH远程登录到目标Linux服务器:
    在本地终端或命令行窗口中,使用ssh命令登录到目标Linux服务器。命令格式为:
    “`
    ssh username@hostname
    “`
    其中,username是目标服务器上的有效用户名,hostname是目标服务器的IP地址或域名。

    2. 在远程服务器上执行nohup命令:
    一旦成功登录到目标Linux服务器,就可以在服务器上执行nohup命令。nohup命令可以在命令前添加,如:
    “`
    nohup command &
    “`
    其中,command是你想要在后台运行的Linux命令。使用`&`符号将命令放入后台执行。

    3. 确保命令在断开SSH连接后继续执行:
    当使用nohup命令后,命令将会在后台运行,即使你关闭SSH终端或断开SSH连接。这样就可以确保命令在长时间运行或你离线时依然执行。你可以使用以下命令来验证该命令是否在后台运行:
    “`
    ps -ef | grep command
    “`
    其中,command是你之前使用nohup命令启动的命令。如果命令在后台运行,将会显示相应的进程信息。

    4. 将命令输出重定向到文件:
    默认情况下,nohup命令的输出会被重定向到一个名为`nohup.out`的文件中。你可以使用以下命令查看文件内容:
    “`
    cat nohup.out
    “`
    如果你想将命令输出重定向到一个特定的文件中,可以使用重定向符号`>`:
    “`
    nohup command > output.txt &
    “`
    这将会将命令的输出重定向到名为output.txt的文件中。

    5. 注意事项和实际应用场景:
    – 当使用nohup命令后,命令会在后台运行,但不会显示任何输出。如果你想要实时查看命令的输出,可以考虑使用`tail -f`命令来跟踪输出文件的变化。
    – nohup命令不会自动在系统重启后恢复。如果你希望命令在系统重启后仍然运行,可以将命令添加到系统的启动脚本中。
    – nohup命令在一些特殊情况下可能会失效,例如服务器的系统资源达到限制或命令本身由于某种原因被终止。在这种情况下,可以考虑使用一些系统级别的工具,如systemd或supervisor,来管理后台任务。

    总结:
    使用SSH远程执行Linux命令nohup可以确保命令在后台持续运行,即使用户注销或断开SSH连接。通过合理地使用nohup命令,可以提高命令的可靠性和执行效率。在实际应用中,需要注意管理后台任务的一些附加细节和限制条件,以确保任务正常运行。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux系统中,我们可以通过ssh远程登录到其他主机,并且执行命令。nohup命令通常用来在后台执行命令,并且在终端断开连接后继续运行。

    下面,我将为你提供一个方法和操作流程,来远程执行Linux命令nohup。

    ## 方法一:使用ssh命令远程执行nohup命令

    1. 打开终端,输入以下命令,建立ssh连接:
    “`
    ssh username@remote_ip
    “`
    其中,username是远程主机的用户名,remote_ip是远程主机的IP地址。

    2. 输入远程主机密码,登录远程主机。

    3. 输入以下命令,执行nohup命令并在后台运行:
    “`
    nohup command > log_file &
    “`
    其中,command是要执行的命令,log_file是命令输出结果保存的文件。

    4. 关闭ssh连接,但是nohup命令会在后台继续执行。

    ## 方法二:使用ssh命令和screen命令远程执行nohup命令

    1. 打开终端,输入以下命令,建立ssh连接:
    “`
    ssh username@remote_ip
    “`
    其中,username是远程主机的用户名,remote_ip是远程主机的IP地址。

    2. 输入远程主机密码,登录远程主机。

    3. 输入以下命令,启动一个screen会话:
    “`
    screen -S session_name
    “`
    其中,session_name是你给会话起的名称,可以自定义。

    4. 在screen会话中,输入以下命令,执行nohup命令并在后台运行:
    “`
    nohup command > log_file &
    “`
    其中,command是要执行的命令,log_file是命令输出结果保存的文件。

    5. 按下Ctrl + A,然后按下D键,即可退出screen会话,但是nohup命令会在后台继续执行。

    6. 关闭ssh连接,nohup命令会在screen会话中继续执行。

    7. 如果需要重新连接到screen会话,可以使用以下命令:
    “`
    screen -r session_name
    “`
    其中,session_name是之前创建的screen会话的名称。

    总结:

    通过使用ssh命令远程登录到其他主机,并且配合nohup命令或者screen命令,我们可以在后台执行Linux命令,并且在终端断开连接后继续运行。这样可以方便我们远程执行长时间运行的命令,而不必担心连接中断导致命令中止。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部