Linux执行sh命令输出nohup

fiy 其他 341

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    当在Linux系统中执行sh命令时,如果在命令末尾添加“nohup”,则会在后台执行该命令,且将该命令的输出重定向到一个名为nohup.out的文件中。

    具体来说,当我们在终端中执行一个sh命令时,通常会将终端的输出结果打印到屏幕上供我们查看。但是如果我们希望在后台执行该命令,并且不希望在终端中看到输出结果,可以使用nohup命令。

    例如,我们可以使用命令“nohup sh command.sh”来在后台执行command.sh脚本,并将输出结果写入nohup.out文件中。

    nohup命令可以帮助我们在终端关闭后仍然继续执行命令。当我们使用nohup命令执行一个长时间运行的任务时,该任务将继续在后台运行,即使我们关闭终端会话。而打印的输出结果将被重定向到nohup.out文件中。

    通过查看nohup.out文件,我们可以查看命令的输出结果。可以使用命令“tail -f nohup.out”来实时查看输出结果。

    总结:在Linux系统中,使用nohup命令可以在后台执行命令,并将输出结果重定向到nohup.out文件中。通过查看nohup.out文件,我们可以获取命令的输出结果。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux系统中,使用sh命令可以执行一个Shell脚本。当执行sh命令时,我们可以将输出重定向到文件,以便将脚本执行的结果保存下来。在某些情况下,我们可能希望脚本在后台运行,而不受终端关闭的影响。在这种情况下,我们可以结合使用nohup命令来实现。

    下面是关于在Linux执行sh命令输出nohup的五个重要点:

    1. 执行sh命令:在Linux的终端中,使用sh命令可以执行Shell脚本。比如,我们有一个名为script.sh的脚本,可以通过以下命令来执行:

    “`
    sh script.sh
    “`

    在执行sh命令时,脚本将在当前终端中运行,并且输出将直接在终端中显示。

    2. 重定向输出到文件:如果我们希望将脚本执行的输出保存到文件中,而不是在终端中显示,可以使用重定向符号(>或>>)将输出重定向到一个文件中。如果该文件不存在,则将创建新文件;如果文件已存在,则会覆盖原有内容。以下是一些示例:

    “`
    sh script.sh > output.txt
    sh script.sh >> output.txt
    “`

    第一个命令将脚本的输出重定向到output.txt文件中,如果文件已存在,则会被覆盖。第二个命令则将输出附加到output.txt文件末尾。

    3. 使用nohup命令:nohup命令可以使一个Shell脚本在后台运行,并且独立于终端会话。这意味着即使关闭终端,脚本仍会继续执行。以下是使用nohup命令执行脚本的示例:

    “`
    nohup sh script.sh > output.txt &
    “`

    在这个示例中,脚本将在后台运行,并且输出被重定向到output.txt文件中。&符号表示将脚本放在后台执行。

    4. 查看nohup输出:nohup命令会将脚本的输出保存到一个名为nohup.out的文件中(如果没有指定输出文件)。我们可以使用cat命令或其他文本编辑器来查看这个文件的内容。

    “`
    cat nohup.out
    “`

    如果想要将输出保存到指定文件,可以在nohup命令中通过重定向进行配置,例如:

    “`
    nohup sh script.sh > output.txt 2>&1 &
    “`

    这个命令将脚本执行的输出重定向到output.txt文件中,并将标准错误(stderr)也重定向到相同的文件。

    5. 终止nohup进程:如果想要终止正在后台运行的nohup脚本,可以使用kill命令。首先,可以使用ps命令查找脚本的进程ID(PID),然后使用kill命令终止进程。以下是一些示例:

    “`
    ps -ef | grep “script.sh” # 查找脚本的PID
    kill PID # 终止脚本进程
    “`

    在这个示例中,使用ps命令查找包含”script.sh”的进程,并获取其PID。然后,使用kill命令来终止该进程。

    通过以上五点,我们可以在Linux系统中使用sh命令来执行脚本,并使用nohup命令将执行结果输出到指定的文件中,以便在后台执行,并且独立于终端的会话。还可以使用kill命令来终止后台运行的脚本进程。

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

    在Linux系统中,通过执行sh命令来运行脚本文件是很常见的操作。在某些情况下,我们可能希望将脚本文件以后台进程的方式运行,并将输出重定向到一个文件中,以便在脚本执行期间能够继续使用终端。

    为了实现这个目的,我们可以使用nohup命令。nohup命令用于在后台运行命令或脚本,并且在终端关闭后仍然能够保持运行。它会将输出重定向到一个指定的文件中,这样可以方便地查看脚本的执行进度和输出。

    下面是使用nohup命令执行sh脚本并保存输出的操作流程:

    1. 打开终端

    2. 切换到脚本文件所在的目录,比如执行 `cd /path/to/script`,其中/path/to/script是你的脚本文件所在的路径

    3. 执行下面的命令:

    “`
    nohup sh script.sh > output.txt &
    “`

    上面的命令中,script.sh是你的脚本文件名,output.txt是你希望保存输出的文件名。&符号表示在后台运行。

    4. 执行命令后,可以关闭终端,脚本会继续在后台运行。

    5. 当你想查看脚本的输出时,可以打开一个新的终端窗口,切换到脚本所在的目录,然后使用cat命令查看输出文件的内容:

    “`
    cat output.txt
    “`

    这样你就可以查看脚本的输出了。

    通过使用nohup命令,我们可以在后台运行脚本,并将输出保存到文件中。这对于长时间运行的脚本或需要继续使用终端的情况非常有用。

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

400-800-1024

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

分享本页
返回顶部