linux服务器如何设置远程连接的时间限制

linux服务器如何设置远程连接的时间限制,第1张

#vim  /etc/profile

export TMOUT=300

若300秒内无输入,则退出当前bash 这个可以?

试了一下,远程和本机bash均退出了(偶使用的是vmware虚拟机做的)。暂时定为这个胜出吧!

但是这个是在客户端无发送请求包保持连接的情况下,若强制在服务器断开连接呢?得到这样的答案:

写个脚本   到2个小时就kill掉

弄脚本 干掉.....

#fuser -k /dev/pts/*

#pkill -kill -t pts/*

这两个应该都可以 干掉所有连接

但是试过都没成功,而且也没理解这命令的含义,所以就用我自己麻烦的办法kill了一下:

kill -9 `ps aux | grep ssh |grep @ |awk '{print $2}'`

在这里能用成。

另外,Xshell工具连接的:

服务器默认就是会断开的,但是连接工具会设置 发送活动状态;

在属性-连接-保持活动状态中,将会话期间保持活动状态前面框里,去掉这个勾选,就ok了!

// 思路是发送一个http请求,然后从response字符串里截取出Date部分,这样得到的时间是GMT格式的,不过转本地时间也很容易了

#include <winsock2.h>

#include <ws2tcpip.h>

#include <stdio.h>

#pragma comment(lib, "ws2_32.lib")

int main()

{

WSADATA wsaData

addrinfo hints, *rs

sockaddr_in serveraddr

SOCKET s

char host[256], hostIP[256], request[1024], *p

int rc, nBytes

WSAStartup(MAKEWORD(2, 2), &wsaData)

s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)

printf("plz input host name(eg.www.example.com):")

gets(host)

ZeroMemory(&hints, sizeof(addrinfo))

hints.ai_flags = AI_PASSIVE

hints.ai_family = AF_UNSPEC

hints.ai_socktype = SOCK_STREAM

hints.ai_protocol = IPPROTO_TCP

rc = getaddrinfo(host, "80", &hints, &rs)

if(rc != 0) {

printf("getaddrinfo failed with error code:%d\n", WSAGetLastError())

goto clean

}

getnameinfo(rs->ai_addr, rs->ai_addrlen, hostIP, NI_MAXHOST, NULL, 0, NI_NUMERICHOST)

printf("server ip is: %s\n", hostIP)

freeaddrinfo(rs)

serveraddr.sin_family = AF_INET

serveraddr.sin_addr.s_addr = inet_addr(hostIP)

serveraddr.sin_port = htons(80)

rc = connect(s, (SOCKADDR*) &serveraddr, sizeof(serveraddr))

if(rc != 0) {

printf("connect to server failed.")

goto clean

}

strcpy(request, "GET / HTTP/1.1\r\n")

strcat(request, "Host: ")

strcat(request, host)

strcat(request, "\r\nConnection: close\r\n\r\n")

send(s, request, strlen(request), 0)

while(1)

{

nBytes = recv(s, request, 1024, 0)

if(nBytes == SOCKET_ERROR)

{

printf("recv failed with error %d\n",WSAGetLastError())

goto clean

} else {

p = strstr(request, "Date:")

p += 5

while(*p == ' ') ++p

printf("server time: ")

while(*p != '\r')

putchar(*p++)

putchar('\n')

break

}

}

clean:

closesocket(s)

WSACleanup()

return 0

}

程序集 窗口程序集1

.子程序 _按钮1_被单击

.局部变量 XML对象, 对象

.局部变量 时间文本, 文本型

按钮1.禁止 = 真

.如果真 (XML对象.创建 (“MSXML2.XMLHTTP”, ) = 假)

.如果真 (XML对象.创建 (“Microsoft.XMLHTTP”, ) = 假)

返回 ()

.如果真结束

.如果真结束

XML对象.方法 (“open”, 编辑框2.内容, 编辑框1.内容, 假)

XML对象.方法 (“send”, )

时间文本 = XML对象.读文本属性 (“getResponseHeader”, “Date”)

标签1.标题 = “当前服务器时间为:” + 到文本 (时间格式化 (时间文本))

按钮1.禁止 = 假

.子程序 时间格式化, 日期时间型

.参数 时间文本, 文本型

.局部变量 临时数组, 文本型, , "0"

.局部变量 临时变量, 文本型

.局部变量 时间变量, 日期时间型

.局部变量 临时时间, 日期时间型

.局部变量 日, 文本型

.局部变量 月, 文本型

.局部变量 年, 文本型

.局部变量 时, 文本型

.局部变量 分, 文本型

.局部变量 秒, 文本型

临时数组 = 分割文本 (时间文本, “, ”, )

临时变量 = 临时数组 [2]

临时变量 = 子文本替换 (临时变量, “ GMT”, , , , 真)

清除数组 (临时数组)

临时数组 = 分割文本 (临时变量, “ ”, )

日 = 临时数组 [1]

.判断开始 (临时数组 [2] = “Jan”)

月 = “01”

.判断 (临时数组 [2] = “Feb”)

月 = “02”

.判断 (临时数组 [2] = “Mar”)

月 = “03”

.判断 (临时数组 [2] = “Apr”)

月 = “04”

.判断 (临时数组 [2] = “Mar”)

月 = “05”

.判断 (临时数组 [2] = “Jun”)

月 = “06”

.判断 (临时数组 [2] = “Jul”)

月 = “07”

.判断 (临时数组 [2] = “Aug”)

月 = “08”

.判断 (临时数组 [2] = “Sep”)

月 = “09”

.判断 (临时数组 [2] = “Oct”)

月 = “10”

.判断 (临时数组 [2] = “Nov”)

月 = “11”

.判断 (临时数组 [2] = “Dec”)

月 = “12”

.默认

.判断结束

年 = 临时数组 [3]

临时变量 = 临时数组 [4]

清除数组 (临时数组)

临时数组 = 分割文本 (临时变量, “:”, )

时 = 到文本 (到整数 (临时数组 [1]))

分 = 临时数组 [2]

秒 = 临时数组 [3]

时间变量 = 到时间 (年 + “/” + 月 + “/” + 日 + “/” + 时 + “/” + 分 + “/” + 秒)

时间变量 = 增减时间 (时间变量, #小时, 8) ' 转换为北京时间

返回 (时间变量)

如果想返回服务器日期,时间包括秒,请用<%=now()%>

这里附带下:<%=date()%>显示日期 例如:2006-6-30

<%=Time()%>显示时间 例如:21:12:12


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/576930.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-05
下一篇2023-07-05

发表评论

登录后才能评论

评论列表(0条)

    保存