linux中如何让命令在后台运行

worktile 其他 6

回复

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

    在Linux中,有几种方法可以让命令在后台运行:

    1. 使用&符号:在命令的末尾加上&符号,即可将该命令置于后台运行。例如,要运行一个脚本文件script.sh,可以使用以下命令:
    “`
    $ ./script.sh &
    “`

    2. 使用nohup命令:nohup命令可以使命令在后台运行,并且在登出时不会被终止。使用nohup命令执行命令的语法如下:
    “`
    $ nohup command &
    “`
    例如,要使一个命令command在后台运行,可以使用以下命令:
    “`
    $ nohup command &
    “`

    3. 使用screen命令:screen命令是一个用于创建和管理多个终端会话的工具。使用screen命令可以在后台运行一个程序,并在需要时重新连接到该程序。可以按照以下步骤使用screen命令:
    – 打开一个新的终端窗口。
    – 输入screen命令,开启一个新的screen会话。
    – 在该会话中执行需要在后台运行的命令。
    – 按下Ctrl+a和d键,即可将该会话 detach,即使终端窗口关闭,该会话仍然在后台运行。
    – 当需要重新连接到该会话时,可以使用以下命令:
    “`
    $ screen -r
    “`

    4. 使用systemd服务:在systemd系统中,可以创建一个服务文件来在后台运行命令。首先,在`/etc/systemd/system/`目录下创建一个以`.service`为后缀的服务文件,然后按照以下模板来配置该文件:
    “`
    [Unit]
    Description=My Service

    [Service]
    ExecStart=/path/to/command

    [Install]
    WantedBy=multi-user.target
    “`
    将`/path/to/command`替换为需要在后台运行的命令的完整路径。然后依次执行以下命令来启用和运行该服务:
    “`
    $ sudo systemctl daemon-reload
    $ sudo systemctl enable myservice.service
    $ sudo systemctl start myservice.service
    “`

    以上是一些常用的方法,可以让命令在Linux中后台运行。根据具体的需求和场景,选择适合的方法进行配置和使用。

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

    在Linux中,有几种方法可以让命令在后台运行。下面是其中的五种方法:

    1. 使用 & 符号。

    在命令的最后加上 & 符号,就可以使命令在后台运行。例如,要在后台运行一个名为 “command” 的命令,可以输入:

    “`
    command &
    “`

    这样,命令就会在后台运行,而不会阻塞终端窗口。

    2. 使用 nohup 命令。

    nohup 命令可以使命令在后台运行,并且在你登出会话或关闭终端后继续运行。要使用 nohup 命令,只需在命令前加上 nohup 前缀。例如:

    “`
    nohup command &
    “`

    这样,命令就会在后台运行,并且不会受到终端关闭的影响。

    3. 使用 disown 命令。

    disown 命令用于将一个正在前台运行的命令从终端会话中脱离,使其在后台继续运行。要使用 disown 命令,首先按下 Ctrl + Z 暂停正在前台运行的命令,然后输入 bg 命令将其移到后台运行。最后,输入 disown 命令,例如:

    “`
    command
    Ctrl + Z
    bg
    disown
    “`

    这样,命令就会在后台继续运行,即使你关闭终端窗口也不会受到影响。

    4. 使用 screen 命令。

    screen 是一个用于多重终端会话的工具,可以使命令在后台运行,并且可以在不同的终端窗口之间切换。要使用 screen 命令,首先输入 screen 命令进入一个新的终端会话,然后在此会话中运行命令。例如:

    “`
    screen
    command
    “`

    这样,命令会在后台运行。要在不同的终端窗口之间切换,可以按下 Ctrl + A 然后按下数字键 n。

    5. 使用 systemd 脚本。

    systemd 是一个用于管理系统进程的工具,可以创建一个 systemd 脚本来在后台运行命令。要使用 systemd 脚本,在 /etc/systemd/system/ 目录中创建一个以 .service 结尾的文件,并在文件中指定要运行的命令。然后使用 systemctl 命令来启动脚本。例如:

    “`
    vi /etc/systemd/system/mycommand.service
    “`

    在文件中输入以下内容:

    “`
    [Unit]
    Description=My Command
    After=network.target

    [Service]
    ExecStart=/path/to/command

    [Install]
    WantedBy=default.target
    “`

    保存并退出文件后,使用 systemctl 命令启动脚本:

    “`
    systemctl start mycommand
    “`

    这样,命令就会以服务的形式在后台运行。

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

    在Linux中,可以使用以下方法将命令或程序在后台运行:

    1. 使用&符号
    在命令的末尾添加&符号,可以将该命令放入后台运行。例如:
    “`
    $ command &
    “`
    这样,命令将在后台运行,而不会阻塞您的终端。

    2. 使用nohup命令
    nohup(即no hang up)命令可以在用户注销或终端关闭后继续运行命令。使用以下语法:
    “`
    $ nohup command &
    “`
    该命令将命令放入后台运行,并将输出重定向到nohup.out文件中。您可以使用该命令与&符号一起使用,以确保命令在后台继续运行。

    3. 使用disown命令
    disown命令可以将已启动的命令与特定的终端会话分离,并且该命令将继续在后台运行。要使用disown命令,请按照以下步骤进行操作:
    – 首先,运行命令:
    “`
    $ command &
    “`
    – 然后,运行以下命令将其与特定终端会话分离:
    “`
    $ disown
    “`
    该命令将取消分离该命令与该会话的关联,并将其继续放在后台运行。

    4. 使用screen命令
    screen命令是一个虚拟终端管理器,它可以创建多个终端会话,并且您可以在会话之间切换。使用以下步骤在一个会话中运行命令,并在其他会话中继续使用其他任务:
    – 首先,运行以下命令来启动一个新的会话:
    “`
    $ screen
    “`
    – 接下来,在新会话中运行您的命令:
    “`
    $ command
    “`
    – 要在会话之间切换,请按键组合`Ctrl+A`然后按键`d`来分离当前会话。
    – 当您需要恢复到分离的会话时,运行以下命令:
    “`
    $ screen -r
    “`
    这将重新连接到您之前分离的会话,并且您可以继续在其中运行命令。

    这些方法可以在Linux中让命令或程序在后台运行,并且您可以根据您的需求选择适合您的方法。

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

400-800-1024

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

分享本页
返回顶部