linux脚本后台运行的命令

fiy 其他 295

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux系统中,要将脚本以后台形式运行,可以使用以下命令:

    1. 使用&符号:在命令后面加上&符号,表示将命令放入后台运行。
    例如:
    “`shell
    bash your_script.sh &
    “`
    这样your_script.sh脚本将在后台运行。

    2. 使用nohup命令:nohup命令可以在脚本后台运行,并且不受终端关闭的影响。
    例如:
    “`shell
    nohup bash your_script.sh &
    “`
    这样your_script.sh脚本将在后台运行,并且不会受到终端关闭的影响。

    3. 使用screen命令:screen命令可以创建一个虚拟终端,将脚本放置在该虚拟终端中运行。
    首先,安装screen命令:
    “`shell
    sudo apt-get install screen
    “`
    然后,使用以下命令创建一个虚拟终端:
    “`shell
    screen -S your_session_name
    “`
    接着,在新的虚拟终端中运行脚本:
    “`shell
    bash your_script.sh
    “`
    按下Ctrl+A,然后再按下D来断开虚拟终端。脚本会在后台继续运行。

    4. 使用systemd服务:systemd是一个系统和服务管理器,在Linux系统中可以使用systemd服务来管理脚本的后台运行。
    首先,创建一个脚本文件,例如your_script.sh:
    “`shell
    #!/bin/bash
    # 脚本内容
    “`
    然后,创建一个unit文件来描述服务:
    “`shell
    sudo nano /etc/systemd/system/your_script.service
    “`
    在该文件中写入以下内容:
    “`
    [Unit]
    Description=Your Script

    [Service]
    ExecStart=/path/to/your_script.sh
    Restart=always

    [Install]
    WantedBy=multi-user.target
    “`
    将ExecStart字段中的/path/to/your_script.sh替换为你的脚本的实际路径。
    保存并退出该文件。

    接着,启动服务并设置开机自启动:
    “`shell
    sudo systemctl start your_script
    sudo systemctl enable your_script
    “`
    现在,your_script.sh脚本将以服务形式在后台运行,并且会在系统启动时自动运行。

    以上是几种常见的将Linux脚本以后台形式运行的方法,你可以根据具体的需求选择合适的方法。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux中,有几种方法可以使脚本在后台运行:

    1. 使用&符号:在命令的最后加上&符号,例如:
    “`shell
    ./script.sh &
    “`
    这将使脚本在后台以子进程的形式运行。

    2. 使用nohup命令:nohup命令可使脚本在后台运行,并忽略所有挂断(SIGHUP)信号。示例:
    “`shell
    nohup ./script.sh &
    “`

    3. 使用disown命令:disown命令用于将正在运行的作业从当前会话中分离,使其在后台继续运行。示例:
    “`shell
    ./script.sh
    Ctrl+Z
    bg
    disown
    “`

    4. 使用screen命令:screen命令可创建多个终端会话,并允许在这些会话中运行多个任务。通过创建一个screen会话并在其中运行脚本,可以使脚本在后台持续运行。示例:
    “`shell
    screen -S session_name
    ./script.sh
    Ctrl+A+D
    “`

    5. 使用tmux命令:tmux命令与screen类似,也可用于创建多个终端会话。使用tmux创建一个会话后,在该会话中运行脚本即可使其在后台持续运行。示例:
    “`shell
    tmux new-session -s session_name
    ./script.sh
    Ctrl+B+D
    “`

    需要注意的是,无论使用哪种方法,在脚本在后台运行时,将不会在终端中看到任何输出。若希望查看脚本的输出或进行交互,可以使用以下方法之一:
    – 将输出重定向到文件中:`./script.sh > output.log &`
    – 使用日志监控工具,如`tail`命令:`tail -f output.log`
    – 在脚本中添加输出或日志记录机制。

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

    在Linux中,可以通过将脚本放入后台运行来实现同时运行多个任务和避免阻塞当前终端的效果。下面是实现Linux脚本后台运行的几种常用方法:

    1. 使用&符号
    在命令后加上&符号,表示将该命令放入后台运行。

    示例:
    “`
    $ ./script.sh &
    “`

    2. 使用nohup命令
    nohup命令可以在运行脚本时忽略挂起信号(SIGHUP),从而使脚本在后台运行,即使终端关闭也不会终止脚本的执行。

    示例:
    “`
    $ nohup ./script.sh &
    “`

    3. 使用disown命令
    可以使用disown命令将正在运行的命令从终端的作业列表中删除,使其成为后台进程。

    示例:
    “`
    $ ./script.sh
    [Ctrl + Z](暂停脚本的执行)
    $ disown
    “`

    4. 使用screen命令
    使用screen命令可以创建一个虚拟终端,并在该终端上运行脚本。即使关闭当前终端,脚本仍然会在screen会话中继续运行。

    首先,安装screen:
    “`
    $ sudo apt-get install screen
    “`
    然后,创建一个screen会话并运行脚本:
    “`
    $ screen -S mysession
    $ ./script.sh
    按下[Ctrl + A],然后按下[D](将会话切换到后台)
    “`
    可以通过以下命令重新连接到screen会话:
    “`
    $ screen -ls
    $ screen -r mysession
    “`

    5. 使用tmux命令
    类似于screen,tmux也是一个终端复用工具,可以在其中创建多个虚拟终端窗口,并在其中运行脚本。

    首先,安装tmux:
    “`
    $ sudo apt-get install tmux
    “`
    然后,创建一个tmux会话并运行脚本:
    “`
    $ tmux new-session -s mysession
    $ ./script.sh
    按下[Ctrl + B],然后按下[D](将会话切换到后台)
    “`
    可以通过以下命令重新连接到tmux会话:
    “`
    $ tmux ls
    $ tmux attach -t mysession
    “`

    无论使用哪种方法,脚本都将在后台运行,即使关闭当前终端也不会终止脚本的执行。

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

400-800-1024

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

分享本页
返回顶部