Mamy tutaj zmienną Bash tylko do odczytu. Nie wolno mi rozbroić tej zmiennej.
$ echo $TMOUT
1800
Aby obejść ten problem, napisałem te wiersze (że moja sesja się nie kończy)
#!/usr/bin/perl
$|++;
while (1) { print "\e[0n"; sleep 120; }
Czy istnieje oficjalny pakiet (rpm), który działa podobnie (jak powyżej kod Perla) w repozytorium CentOS7 / RHEL7? Nie lubię otwierać edytora vim, życzę polecenia.
bash
rpm
repository
timeout
Iwanow
źródło
źródło
cat
odejście od sesji. A potem ^ C po powrocie.exec env TMOUT=0 bash
Odpowiedzi:
Możesz wydawać polecenia perla z wiersza poleceń ...
perl -e '$|++; while (1) { print "\e[0n"; sleep 120; }'
lub możesz zrobić to samo w powłoce (a
sh
/bash
example):while sleep 120; do printf '\33[0n'; done
Lub możesz użyć
watch
:watch -n 120 printf '\33[0n'
źródło
printf '\33[0n'
? wiem, co toprintf
jest linia poleceń . ale co jest drukowane?\33
jest skrótem, ponieważ klawisz Escape<esc>[0n
nie jest znanym kodem ucieczkowym ANSI, wyobrażam sobie, że to literówka, która powinna<esc>[0m
zresetować kolor terminala dla aplikacji / terminali / tty, które obsługują kody ucieczki ANSI.Dodaj to na początku swojego .bash_profile?
Strzeż się gniewu sysadminów, jeśli porzucisz miliardy starych sesji w wyniku pokonywania ich limitów czasu.
źródło
Oto,
kiedy zmienną sesji jest „Tylko do odczytu” , musisz zastąpić bieżący proces powłoki poleceniem „exec”
. Odpowiedź na twoje pytanie brzmi:
Ale zalecam ustawienie wyższej wartości limitu czasu
źródło
Dlaczego nie przechodzisz na sesję nieinteraktywną?
źródło
W moim przypadku jest on zdefiniowany w /etc/profile.d/bash_autologout.sh:
Aby to znaleźć:
źródło