linux设置超时不掉线命令

worktile 其他 93

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    Linux系统可以通过设置TCP的Keepalive参数来控制超时不掉线。具体的设置命令如下:

    1. 查看当前系统的Keepalive配置:
    “`shell
    sudo sysctl net.ipv4.tcp_keepalive_time
    sudo sysctl net.ipv4.tcp_keepalive_intvl
    sudo sysctl net.ipv4.tcp_keepalive_probes
    “`

    – `net.ipv4.tcp_keepalive_time`表示TCP连接空闲多久后开始发送Keepalive探测包,默认为7200秒(2小时);
    – `net.ipv4.tcp_keepalive_intvl`表示两次Keepalive探测包发送的间隔时间,默认为75秒;
    – `net.ipv4.tcp_keepalive_probes`表示发送多少个Keepalive探测包后仍未收到响应才断开连接,默认为9个。

    2. 修改Keepalive配置:
    “`shell
    sudo sysctl -w net.ipv4.tcp_keepalive_time=
    sudo sysctl -w net.ipv4.tcp_keepalive_intvl=

    sudo sysctl -w net.ipv4.tcp_keepalive_probes=

    “`
    其中,`
    `表示你希望设置的具体数值,单位为秒。

    3. 验证配置是否生效:
    “`shell
    sudo sysctl net.ipv4.tcp_keepalive_time
    sudo sysctl net.ipv4.tcp_keepalive_intvl
    sudo sysctl net.ipv4.tcp_keepalive_probes
    “`

    修改过后,重新查看配置的数值是否已经更新。

    通过以上配置,可以实现Linux系统的超时不掉线功能。请注意,修改操作系统的参数可能会对系统的性能和稳定性有一定影响,请谨慎操作。

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

    在Linux中,有几种方法可以设置超时时间以防止掉线。以下是一些常用的命令和方法:

    1. 使用TMOUT环境变量:可以设置TMOUT环境变量的值来指定超时时间,单位为秒。可以将以下命令添加到shell配置文件(如~/.bashrc)中以使其在每次登录时生效:

    export TMOUT=300

    上述命令将超时时间设置为300秒(即5分钟)。

    2. 使用timeout命令:timeout命令可以在给定时间内运行命令,并在时间到期后自动中止命令的执行。以下是timeout命令的使用示例:

    timeout 300 command

    上述命令将在300秒(即5分钟)内运行命令,并在时间到期后中止命令的执行。

    3. 使用SSH的ServerAliveInterval和ServerAliveCountMax选项:如果是通过SSH连接到远程服务器,可以使用SSH的ServerAliveInterval和ServerAliveCountMax选项来设置超时时间。这两个选项定义了SSH客户端和服务器之间的心跳连接以确保连接的可靠性。可以将以下行添加到SSH配置文件中(通常是/etc/ssh/ssh_config):

    ServerAliveInterval 300
    ServerAliveCountMax 3

    上述配置将在300秒(即5分钟)内向服务器发送心跳连接,并在连续3次没有收到响应后中止连接。

    4. 使用screen命令:screen命令是一个终端复用工具,它允许用户在一个终端上同时运行多个会话。使用screen命令可以在后台运行一个会话,并在超时后自动断开连接。以下是screen命令的使用示例:

    screen -S session_name -d -m command

    上述命令将在后台运行一个名为session_name的新会话,并在连接超时后自动断开。

    5. 使用autossh命令:autossh命令是一个SSH自动重连工具,它可以在SSH连接断开后自动重新连接。autossh命令具有自动重连的功能,可以避免连接因超时而断开。以下是autossh命令的使用示例:

    autossh -M 0 -o “ServerAliveInterval 300” -o “ServerAliveCountMax 3” user@host

    上述命令将使用autossh命令在300秒(即5分钟)内向主机发送心跳连接,并在连续3次没有收到响应后自动重新连接。

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

    在Linux系统中,可以使用以下几种方法设置超时不掉线命令。

    1. 使用`timeout`命令

    `timeout`命令可以在指定时间内运行命令,并在超时后将其终止。要设置不掉线超时,可以使用`timeout`命令即可。

    “`bash
    timeout 3600s command
    “`

    上面的命令将在3600秒(1小时)后终止命令。你可以根据需要调整时间。

    2. 使用`screen`命令

    `screen`是一个命令行终端多路复用器,它可以让你同时运行多个命令,并在离开终端后仍然保持运行。这使得你可以在断开SSH连接后重新连接并继续之前的工作。

    首先,你需要安装`screen`:

    “`bash
    sudo apt-get install screen
    “`

    然后,使用以下命令启动一个新的`screen`会话:

    “`bash
    screen
    “`

    在`screen`会话中,你可以运行你的命令。

    要在SSH连接断开后重新连接到`screen`会话,可以使用以下命令:

    “`bash
    screen -r
    “`

    3. 使用`nohup`命令

    `nohup`命令可以在你退出终端后继续运行命令。它还会将命令的输出保存到一个名为`nohup.out`的文件中。

    “`bash
    nohup command &
    “`

    上面的命令将在后台运行`command`命令,并将输出保存到`nohup.out`文件中。

    这样,即使你退出SSH会话,命令也将继续运行。

    4. 使用`tmux`命令

    `tmux`是另一个命令行终端多路复用器,它类似于`screen`。你可以使用以下命令启动一个新的`tmux`会话:

    “`bash
    tmux new-session
    “`

    在`tmux`会话中,你可以运行你的命令。

    要在SSH连接断开后重新连接到`tmux`会话,可以使用以下命令:

    “`bash
    tmux attach-session
    “`

    这些是在Linux系统中设置超时不掉线命令的几种方法。你可以根据自己的需求选择适合的方法。

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

400-800-1024

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

分享本页
返回顶部