linux如何让sh命令一直存活

fiy 其他 102

回复

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

    要让sh命令一直存活,可以通过以下几种方式实现:

    1. 使用nohup命令:nohup命令可以在执行命令时忽略挂断信号,从而使命令继续在后台运行。在终端中执行以下命令:

    “`
    nohup sh your_script.sh &
    “`

    这样sh命令将会一直在后台运行,并且在终端关闭后仍然保持运行状态。

    2. 使用screen命令:screen是一个终端复用工具,可以创建多个虚拟终端,在终端中执行以下命令:

    “`
    screen -S session_name
    “`

    然后在screen虚拟终端中执行sh命令,即可使sh命令一直保持运行。如果需要离开当前session,可以按下Ctrl + A + D,离开后再次进入使用`screen -r session_name`命令。

    3. 使用tmux命令:tmux也是一个终端复用工具,和screen功能类似。在终端中执行以下命令:

    “`
    tmux new -s session_name
    “`

    然后在tmux session中执行sh命令,即可使sh命令一直保持运行。如果需要离开当前session,可以按下Ctrl + B + D,离开后再次进入使用`tmux a -t session_name`命令。

    4. 使用init.d或systemd服务:将sh命令配置成一个服务,使其在系统启动时自动运行,并且会在后台一直保持运行。具体的配置方法,可以根据不同的Linux发行版进行相应的设置。

    综上所述,以上几种方法可以让sh命令一直保持运行,选择适合自己情况的方法进行配置。

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

    要让sh命令一直存活,有多种方法可以实现。以下是一些常用的方法:

    1. 使用nohup命令:
    在命令前面加上nohup,可以使得命令在后台运行,并且不会受到终端关闭的影响。例如:
    “`shell
    nohup sh your_script.sh &
    “`
    这样,your_script.sh命令会在后台一直执行,即使你关闭了终端。

    2. 使用screen命令:
    screen是一个终端复用工具,可以让用户在多个终端之间切换。使用screen启动一个终端窗口,并执行你的sh命令,即可保持sh命令的持续运行。示例:
    “`shell
    screen -S your_session sh your_script.sh
    “`
    上述命令会创建一个名为your_session的screen会话,并在该会话中执行your_script.sh命令。即使关闭了终端窗口,该会话仍然会持续运行。

    3. 使用tmux命令:
    tmux也是一个终端复用工具,用法类似于screen。你可以使用tmux创建一个会话,并在该会话中执行你的sh命令。示例:
    “`shell
    tmux new-session -s your_session sh your_script.sh
    “`
    上述命令会创建一个名为your_session的tmux会话,并在该会话中执行your_script.sh命令。即使关闭了终端窗口,该会话仍然会持续运行。

    4. 使用systemd服务:
    如果你使用的是系统中的systemd服务,你可以将你的sh命令封装成一个systemd服务,并让该服务在系统启动时自动运行。示例:
    在`/etc/systemd/system`目录中创建一个名为your_service.service的文件,内容如下:
    “`
    [Unit]
    Description=Your Service

    [Service]
    ExecStart=/bin/sh your_script.sh
    Restart=always

    [Install]
    WantedBy=multi-user.target
    “`
    然后运行以下命令启动服务:
    “`shell
    systemctl enable your_service
    systemctl start your_service
    “`
    这样,your_script.sh命令就会作为一个systemd服务在后台持续运行。

    5. 使用后台运行命令:
    除了使用nohup命令之外,还可以使用一些后台运行命令来实现sh命令的持续运行,比如将命令放在后台运行并重定向输出到/dev/null。示例:
    “`shell
    sh your_script.sh > /dev/null 2>&1 &
    “`
    上述命令将your_script.sh命令放在后台运行,并将标准输出和标准错误输出都重定向到/dev/null,这样就不会产生任何输出,同时也不会受到终端关闭的影响。

    无论你选择哪种方式,都可以让sh命令一直保持运行状态,并且不会因为终端关闭而终止运行。根据实际情况选择适合自己的方法即可。

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

    要让sh命令一直在Linux系统中运行,你可以使用以下方法:

    方法一:使用nohup命令
    1. 打开终端(Terminal)或使用SSH登录到Linux系统。
    2. 运行命令:nohup sh
    这将在后台启动一个新的sh会话。
    3. 按下回车键,这样sh会话将在后台一直运行,即使你退出当前终端窗口。

    方法二:使用终端多路复用工具(如tmux或screen)
    1. 安装tmux或screen工具(如果尚未安装)。在大多数Linux发行版中,你可以使用以下命令安装它们:
    对于tmux:
    sudo apt-get install tmux

    对于screen:
    sudo apt-get install screen

    2. 运行tmux或screen命令,启动一个新的会话。
    对于tmux:
    tmux new-session

    对于screen:
    screen

    3. 在新的会话中运行sh命令,它将一直在后台运行。
    4. 按下Ctrl + B,然后按下D键,即可分离当前会话。
    这样,即使你退出当前终端窗口,sh命令也将继续在后台运行。
    5. 如果需要重新连接到之前的会话,可以使用以下命令:
    对于tmux:
    tmux attach-session

    对于screen:
    screen -r

    方法三:将sh命令添加到启动脚本中
    1. 打开终端(Terminal)或使用SSH登录到Linux系统。
    2. 编辑启动脚本文件,如.bashrc或.profile。
    对于Bash Shell,可以运行以下命令打开.bashrc文件:
    vi ~/.bashrc

    3. 在文件的末尾添加一行命令来运行sh程序,如:
    sh /path/to/script.sh &
    其中,/path/to/script.sh是要运行的脚本的路径。
    ‘&’符号表示在后台运行。

    4. 保存文件并退出编辑器。
    5. 重新启动终端或重新登录系统,sh命令将自动在启动时运行,并一直保持活动状态。

    无论你选择哪种方法,都能让sh命令在Linux系统中持续运行。你可以根据具体需求选择适合的方法。

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

400-800-1024

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

分享本页
返回顶部