powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / TimeOut для SSH клиента
3 сообщений из 3, страница 1 из 1
TimeOut для SSH клиента
    #35599025
Имеется скрипт в нем используется scp . На сервере к которому пытается подключиться клиент бывает странный глюк:
ssh <имя_сервера>
login: <вводим_имя_пользователя>
passwd: <вводим_свой_пароль>
сервер сессию не рвет, но и к себе не пускает
...................................................
Как сделать так, чтобы клиент по истечению определенного времени отваливался.

Пробовал scp -o ConnectTimeout=60 <имя_удаленного_файл> <имя_локального_файла>
безрезультатно.
...
Рейтинг: 0 / 0
TimeOut для SSH клиента
    #35599148
RAndrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timeout.c:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
#include <sys/types.h>
#include <signal.h>
#include <sys/wait.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

pid_t child_pid;
void print_usage(void){
	
	printf("usage: timeout <num> cmd\n");
}

void timedout(int signal){

	kill(child_pid, SIGTERM);
}

int main(int argc, char *argv[]){
	int secs;
	int child_status;

	if(argc <  3 ){
		print_usage();
		exit( 1 );
	}
	
	secs = atoi(argv[ 1 ]);
	if(secs <=  0 ){
		print_usage();
		exit( 1 );
	}

	switch(child_pid = fork()){
		case  0 :	execv(argv[ 2 ], argv +  2 );
				break;
		case - 1 :	printf("failed to execute command\n");
				break;
		default:	signal(SIGALRM, timedout);
				alarm(secs);
				wait(&child_status);
				return child_status;
	}
}

% gcc timeout.c -o timeout

использовать так:
./timeout 60 scp <имя_удаленного_файл> <имя_локального_файла>
аккуратней, если через 60 секунд scp не закончит работу, то он всё равно будет убит, даже если копирование в процессе.
...
Рейтинг: 0 / 0
TimeOut для SSH клиента
    #35599157
Вариант не подходит. Так как в случае успеха процесс копирования вполне может затянуться на время большее двух минут.
Интересно, что может помочь ssh клиенту понять, что серверу мягко говоря тупит? Логин спрашивает, пароль тоже, а вот дальше не пускает.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / TimeOut для SSH клиента
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]