Linux 中的 nohup 命令详解与实例

在 Linux 系统中,nohup(全称 no hang up,意为"不挂断")命令允许一个进程在用户退出登录或终端关闭后仍能继续运行。它会忽略 HUP(挂断)信号,通常情况下,当会话结束时,该信号会导致正在运行的进程终止。

  • nohup 可以防止用户注销时进程被停止。
  • 它会自动将命令的输出重定向到一个名为 nohup.out 的文件中(前提是没有指定其他输出文件)。
  • 它可以与 & 结合使用,以便在后台运行进程。

示例

使用 Nohup 启动进程

要使用 Nohup 启动进程,只需在所需的命令前加上 INLINECODE89612a3f。例如,如果我们想使用 Nohup 执行一个名为 INLINECODE3e7078db 的 bash 脚本,可以使用以下命令:

nohup bash geekfile.sh

输出:

!nohub bash

若要将输出重定向到 output.txt 文件:

nohup bash geekfile.sh > output.txt

输出:

!nohu bash output.txt

Nohup 命令语法

使用 Nohup 命令的语法非常直观:

nohup command [options] &
  • INLINECODE26fac297commandINLINECODE122b7c6f:指定我们要执行的命令或脚本。
  • INLINECODE32326e81[options]INLINECODE22a118aa:用于修改命令行为的可选参数或标志。
  • INLINECODEcb04f990&INLINECODE70c8fe5d:在命令末尾放置一个和号 (&),指示 shell 在后台运行该命令。

使用 Nohup 在后台启动进程

为了在后台运行命令,我们需要在命令末尾附上 ‘&‘ 符号。执行后,在后台运行命令时,它不会立即返回到 shell 命令提示符。我们可以使用 fg 命令将其调回前台。

nohup bash geekfile.sh &
fg

输出:

!nohup bash script

注意: 方括号内的数字代表 作业 ID,旁边的数字则是 进程 ID

在后台运行多个命令

我们可以使用 nohup 命令在后台运行多个命令。

nohup bash -c ‘commands‘

示例:

nohup bash -c ‘cal && ls‘

输出:

!To run multiple commands in the background:

这里,输出将默认存储在 nohup.out 中。如果要重定向它,请输入:

nohup bash -c ‘commands‘ > filename.txt

示例:

nohup bash -c ‘cal && ls‘ > output.txt

输出:

!Storing the output in output file

检查 Nohup 的版本

检查 Nohup 的版本非常简单。通常,我们可以使用 INLINECODE3987ae32–versionINLINECODE79fde1a9 标志来检查系统上安装的 Nohup 版本。只需执行以下命令:

nohup --version

输出:

!nohup version

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/49305.html
点赞
0.00 平均评分 (0% 分数) - 0