Di sini kita memiliki variabel Bash hanya baca. Saya tidak diizinkan untuk menghapus variabel itu.
$ echo $TMOUT
1800
Sebagai solusinya saya menulis kalimat itu (bahwa sesi saya tidak keluar)
#!/usr/bin/perl
$|++;
while (1) { print "\e[0n"; sleep 120; }
Apakah ada paket resmi (rpm) yang melakukan hal serupa (seperti kode Perl di atas) dalam repositori CentOS7 / RHEL7? Saya tidak suka membuka editor vim, saya ingin perintah.
bash
rpm
repository
timeout
Ivanov
sumber
sumber
cat
ketika menjauh dari sesi Anda. Dan kemudian ^ C saat Anda kembali.exec env TMOUT=0 bash
Jawaban:
Anda dapat mengeluarkan perintah perl dari baris perintah ...
perl -e '$|++; while (1) { print "\e[0n"; sleep 120; }'
atau Anda dapat melakukan hal yang sama di shell (a
sh
/bash
example):while sleep 120; do printf '\33[0n'; done
Atau Anda bisa menggunakan
watch
:watch -n 120 printf '\33[0n'
sumber
printf '\33[0n'
? saya tahu apa baris perintahnyaprintf
. tetapi apa yang sedang dicetak?\33
adalah singkatan untuk kunci melarikan diri<esc>[0n
bukan kode pelarian ANSI yang dikenal, saya membayangkan itu adalah kesalahan ketik dan seharusnya<esc>[0m
yang mengatur ulang warna terminal untuk aplikasi / terminal / tty yang mendukung kode pelarian ANSI.Tambahkan ini ke awal .bash_profile Anda?
Waspadalah dengan murka para sysadmin jika Anda membiarkan trilyunan sesi lama berjalan karena mengalahkan aturan timeout mereka.
sumber
Inilah masalahnya,
Ketika variabel sesi adalah "Hanya Baca" Anda harus mengganti proses shell saat ini dengan perintah oleh "exec"
Jadi, Jawaban untuk pertanyaan Anda adalah:
Tetapi saya merekomendasikan pengaturan nilai batas waktu yang lebih tinggi
sumber
Mengapa Anda tidak beralih ke sesi non-interaktif?
sumber
Saya kasus saya, ini didefinisikan dalam /etc/profile.d/bash_autologout.sh:
Untuk menemukannya, saya lakukan:
sumber