linux命令放后台运行函数

不及物动词 其他 68

回复

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

    在Linux中,若想将命令放在后台运行,可以使用以下两种方式:

    1. 在命令的结尾添加 `&` 符号。
    例如,假设要将一个名为 `script.sh` 的脚本放在后台运行,可以使用以下命令:
    “`
    $ bash script.sh &
    “`
    这样,该脚本将会在后台运行,不会阻塞终端。

    2. 使用 `nohup` 命令。
    `nohup` 命令用于忽略 Hangup 信号,从而使命令在后台运行,并且即使关闭终端,命令仍然会继续运行。
    “`shell
    $ nohup command &
    “`
    其中,`command` 为要在后台运行的命令。

    例如,如果要将一个名为 `script.sh` 的脚本放在后台运行,可以使用以下命令:
    “`shell
    $ nohup bash script.sh &
    “`
    使用 `nohup` 命令后,会生成一个名为 `nohup.out` 的文件,该文件用于保存命令的输出信息。

    这两种方式都可以将命令放在后台运行,但是值得注意的是,后台运行的命令无法直接与用户进行交互,输出信息会被重定向到文件中。如果需要与命令进行交互,可以使用其他工具,如 `screen` 或 `tmux`。

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

    在Linux中,可以使用一些命令和技术将进程放在后台运行。下面是一些常用方法:

    1. 使用&符号:在命令最后加上&符号可以将其放在后台运行。例如:`command &`
    这将允许命令在后台运行,而不会阻塞终端。终端仍然可用于执行其他任务。

    2. 使用nohup命令:nohup命令用于使命令在后台运行,并且不会受到终端关闭的影响。例如:`nohup command &`
    这将使命令以无终端的方式在后台运行,并将输出重定向到一个名为nohup.out的文件中。

    3. 使用screen命令:screen命令是一个多路复用窗口管理器,可以同时运行多个进程。使用screen命令可以将进程放在后台运行,即使断开SSH会话也不会中断。以下是screen命令的基本用法:

    – 启动一个新的screen会话:`screen`
    – 在screen会话中运行命令:`command`
    – 从screen会话中断开:按下Ctrl+A,然后按下d键
    – 恢复断开的screen会话:`screen -r`
    – 列出所有的screen会话:`screen -ls`
    – 结束一个screen会话:`screen -X -S quit`

    4. 使用tmux命令:类似于screen命令,tmux也是一个多路复用终端工具。可以使用tmux将命令放在后台运行,并且断开SSH会话时不会中断进程。以下是tmux命令的基本用法:

    – 启动一个新的tmux会话:`tmux new-session`
    – 在tmux会话中运行命令:`command`
    – 从tmux会话中断开:按下Ctrl+B,然后按下d键
    – 恢复断开的tmux会话:`tmux attach`
    – 列出所有的tmux会话:`tmux list-sessions`
    – 结束一个tmux会话:`tmux kill-session -t `

    5. 使用后台任务管理器:有一些任务管理器可用于管理后台进程。例如,有一个名为”GNU Screen Manager”的任务管理器可以用于管理多个screen会话。安装和使用这些管理工具可以更方便地管理背景任务。

    这些方法都可以将命令放在后台运行,使其在不中断终端会话的情况下继续执行。选择适合自己需求的方法来在Linux中运行后台任务。

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

    在Linux中,可以使用以下方法将命令放到后台运行:

    1. 使用 & 符号
    在命令后面添加 & 符号,可以将命令放到后台运行。例如,要将命令 `command` 放到后台运行,可以输入以下命令:
    “`
    command &
    “`
    此时,命令会在后台运行,并返回一个进程ID(PID)。

    2. 使用 nohup 命令
    nohup 命令可以在命令运行时忽略挂断信号,从而将命令在后台运行。该命令的基本语法如下:
    “`
    nohup command &
    “`
    使用 nohup 命令后,命令的输出会被重定向到一个名为 nohup.out 的文件中。

    3. 使用 disown 命令
    disown 命令可以使某个命令与当前终端会话脱离关系,从而在关闭会话时仍然继续运行。该命令的基本语法如下:
    “`
    command &
    disown
    “`
    使用 disown 命令后,命令会与当前终端会话脱离关系。但需要注意的是,该命令只能在命令运行后再使用。

    4. 使用 screen 命令
    screen 命令可以创建一个类似终端窗口的会话,并在该会话中运行命令。即使终端会话关闭,命令仍然会在后台运行。使用 screen 命令的基本流程如下:
    – 启动一个新的 screen 会话:
    “`
    screen
    “`
    – 在会话中运行命令,并按下 “Ctrl + A” 键,然后按下 “D” 键,即可将会话放到后台运行。

    5. 使用 nohup + disown 组合
    将 nohup 和 disown 命令组合使用,可以将命令在后台运行,并且与当前终端会话脱离关系。基本流程如下:
    – 使用 nohup 命令运行命令:
    “`
    nohup command &
    “`
    – 使用 disown 命令将命令与当前终端会话脱离关系:
    “`
    disown
    “`

    以上就是几种将命令放到后台运行的方法,你可以根据具体需求选择合适的方法。在使用这些方法时,建议使用 `jobs` 命令来查看后台运行的任务。

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

400-800-1024

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

分享本页
返回顶部