읽기 전용 TMOUT 변수 – 활동이 없을 때 자동 쉘 종료를 비활성화하는 해결 방법

읽기 전용 TMOUT 변수 – 활동이 없을 때 자동 쉘 종료를 비활성화하는 해결 방법

여기에는 읽기 전용 Bash 변수가 있습니다. 변수를 설정 해제할 수 없습니다.

$ echo $TMOUT
1800

해결 방법으로 다음 줄을 작성했습니다(내 세션이 종료되지 않음).

#!/usr/bin/perl

$|++;
while (1) { print "\e[0n"; sleep 120; }

CentOS7/RHEL7 저장소에 유사한 기능(위의 Perl 코드와 같은)을 가진 공식 패키지(rpm)가 있습니까? 나는 vim 편집기를 여는 것을 좋아하지 않습니다. 명령이 있었으면 좋겠습니다.

답변1

.bash_profile 시작 부분에 추가하시겠습니까?

if [ ! -z "$TMOUT" ]; then
  env -i bash --init-file ~/.bash_profile
fi

시스템 관리자의 시간 초과 규칙을 위반하여 많은 수의 이전 세션을 실행 중인 상태로 두면 시스템 관리자의 분노를 조심하십시오.

답변2


세션 변수가 다음과 같을 때 의 문제는 다음과 같습니다."읽기 전용"현재 쉘 프로세스를 다음으로 교체해야 합니다."구현하다"
따라서 귀하의 질문에 대한 답변은 다음과 같습니다.

$> exec env TMOUT=0 bash

하지만 더 높은 시간 초과 값을 설정하는 것이 좋습니다.

$> exec env TMOUT=3600 bash

답변3

명령줄에서 perl 명령을 실행할 수 있습니다...

perl -e '$|++; while (1) { print "\e[0n"; sleep 120; }'

또는 쉘에서 동일한 작업을 수행할 수 있습니다(a sh/ bash예).

while sleep 120; do printf '\33[0n'; done

또는 다음을 사용할 수 있습니다 watch.

watch -n 120 printf '\33[0n'

답변4

내보내기TMOUT=0

맨 위

일부 활동이 발생하고 세션은 그대로 유지되며 얼마나 오랫동안 실행되었는지 확인할 수 있습니다.

관련 정보