여기에는 읽기 전용 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
맨 위
일부 활동이 발생하고 세션은 그대로 유지되며 얼마나 오랫동안 실행되었는지 확인할 수 있습니다.