linux让命令后台执行

fiy 其他 62

回复

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

    在Linux系统中,可以使用一些特定的命令来让程序在后台执行,而不占用终端窗口。下面介绍两种常用的方法:

    1. 使用&符号:在命令的末尾添加一个&符号,可以让该命令在后台执行。例如:
    “`
    $ command &
    “`
    这样,命令将在后台执行,可以继续使用终端输入其他命令。但需要注意的是,如果终端窗口退出,那么后台进程也会被关闭。

    2. 使用nohup命令:nohup是一个可以让命令在后台持续运行的工具。使用nohup命令的格式为:
    “`
    $ nohup command &
    “`
    nohup命令会将命令的输出重定向到nohup.out文件中。即使终端窗口关闭,命令也会继续在后台运行。可以使用以下命令来查看nohup.out文件的内容:
    “`
    $ tail -f nohup.out
    “`
    如果不想将输出重定向到nohup.out文件,可以使用以下命令:
    “`
    $ nohup command > /dev/null 2>&1 &
    “`
    这样输出将会被重定向到/dev/null中,即被丢弃。

    以上是在终端中让命令后台执行的两种方法,可以根据具体需求选择合适的方式。同时,也可以使用其他工具如screen或tmux来实现命令的后台执行和会话管理。

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

    在Linux中,可以通过不同的方式让命令在后台执行,这可以很方便地在执行长时间运行的任务时释放终端窗口,并允许其他任务同时执行。下面是几种常见的使命令在后台执行的方法:

    1. 使用&符号:在命令后加上&符号,即可使命令在后台执行。例如,要执行一个名为script.sh的Shell脚本,可以输入以下命令:
    “`
    ./script.sh &
    “`

    2. 使用nohup命令:nohup命令可以在终端关闭后继续执行命令,同时将命令的输出重定向到一个文件中。使用nohup命令执行命令的语法如下:
    “`
    nohup command &
    “`
    例如,要执行一个名为script.sh的Shell脚本,并将输出保存到output.txt文件中,可以输入以下命令:
    “`
    nohup ./script.sh > output.txt &
    “`

    3. 使用screen命令:screen是一个终端多路复用程序,可以创建多个虚拟终端并在其上执行命令。使用screen命令执行命令的语法如下:
    “`
    screen -dmS session_name command
    “`
    例如,要执行一个名为script.sh的Shell脚本,并在名为my_session的screen会话中执行,可以输入以下命令:
    “`
    screen -dmS my_session ./script.sh
    “`

    4. 使用tmux命令:tmux也是一个终端多路复用程序,类似于screen。使用tmux命令执行命令的语法如下:
    “`
    tmux new-session -d -s session_name command
    “`
    例如,要执行一个名为script.sh的Shell脚本,并在名为my_session的tmux会话中执行,可以输入以下命令:
    “`
    tmux new-session -d -s my_session ./script.sh
    “`

    5. 使用at命令:at命令可以在指定的时间执行命令,可以使用关键字now来表示立即执行。使用at命令执行命令的语法如下:
    “`
    at time
    command
    “`
    例如,要在当前时间立即执行一个名为script.sh的Shell脚本,可以输入以下命令:
    “`
    echo “./script.sh” | at now
    “`

    请注意,如果在后台执行的命令需要交互,可能会导致意外的结果。

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

    在Linux系统中,让命令在后台执行有多种方法。下面我将介绍常用的两种方法:使用 & 符号和使用 nohup 命令。

    1. 使用 & 符号
    在命令行中,可以在输入命令的末尾添加 & 符号,将命令放到后台执行。例如,我们要执行一个长时间运行的脚本文件,可以使用以下命令:
    “`bash
    ./script.sh &
    “`
    这样,脚本将在后台运行,不会阻塞终端的输入。需要注意的是,如果在后台执行的程序产生了输出,它会在终端上显示。

    2. 使用 nohup 命令
    nohup 命令可以让命令在后台执行,并且在关闭终端后仍然运行。nohup 是”no hang up”的缩写,意思是不挂起,即使关闭了终端,命令仍然会在后台继续执行。

    使用 nohup 执行命令的方法如下:
    “`bash
    nohup command &
    “`
    其中,command 是要在后台执行的命令。例如,我们要在后台运行一个 Python 脚本,可以使用以下命令:
    “`bash
    nohup python script.py &
    “`
    执行完这个命令后,即使关闭了终端,脚本仍会在后台持续运行。输出被重定向到一个名为 nohup.out 的文件中,可以通过查看该文件来查看脚本的输出信息。

    除了上述两种方法,还可以使用 screen 或者 tmux 这样的工具来实现让命令在后台运行。这些工具可以创建一个具有多个终端会话的虚拟终端窗口,可以在其中执行命令,并且在断开连接后仍然保持运行。

    总结:
    让命令在后台执行有多种方法,常用的包括在命令后面加上 & 符号,使用 nohup 命令,或者使用 screen 或者 tmux 这样的工具。以上介绍的方法可以根据实际需求选择适合的方式,在后台运行长时间执行的命令或脚本。

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

400-800-1024

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

分享本页
返回顶部