Apa maksud dari (!) Setelah waktu aktif di htop

84

Saya menganalisis beberapa kepala web yang melihat htopdan memperhatikan hal berikut

Uptime: 301 days(!), 23:47:39

Apa (!)artinya?

brentwpeterson
sumber
@ JoelDavis jadi (!) Tidak berarti apa-apa lagi maka server sudah menyala selama 301 hari?
brentwpeterson
8
Mereka menunjukkan kode persis di tautan tapi ya itu pada dasarnya hanya mengatakan "OMG!"
Bratchley
2
Namun, titik demarkasi yang pasti adalah 100 hari.
Bratchley
1
@ JoelDavis - mengapa tidak menuliskannya sebagai A sehingga kita bisa menutup ini?
slm

Jawaban:

119

Dari kode sumber htop , file UptimeMeter.c , Anda dapat melihat:

char daysbuf[15];
if (days > 100) {
   sprintf(daysbuf, "%d days(!), ", days);
} else if (days > 1) {
   sprintf(daysbuf, "%d days, ", days);
} else if (days == 1) {
   sprintf(daysbuf, "1 day, ");
} else {
   daysbuf[0] = '\0';
}

Saya pikir di !sini hanya tanda bahwa server telah beroperasi selama lebih dari 100 hari.

Referensi

cuonglm
sumber
Jadi ada buffer overflow setelah 9999 hari uptime? (penyangga tampaknya menjadi char [32] sekarang)
Kopfgeldjaeger
108

htop penulis di sini. Ya, seperti yang telah disebutkan orang lain, memang muncul setelah 100 hari uptime.

Alasannya tidak ada yang mewah, itu hanya telur Paskah dalam perangkat lunak. Pertimbangkan bahwa program ini terkesan dengan waktu aktif Anda, dan lakukan sesuka Anda. :)

Hisyam HM
sumber
3
Selalu menyenangkan melihat jawaban yang pasti seperti ini.
iamnotmaynard
34

htop menunjukkan tanda seru ketika server telah beroperasi sejak 100 hari atau lebih.

Walaupun dulu administrator sistem memiliki kebanggaan dalam menunjukkan waktu yang lama, saat ini sistem harus di-boot ulang agar tetap up to date dengan kernel baru dan beberapa perbaikan keamanan. Karena alasan itu, waktu kerja yang lama mungkin bukan hal yang baik dan saya cenderung menafsirkan tanda seru sebagai tanda peringatan.

Raffaele D'Elia
sumber
8
Meskipun jawaban Anda ringkas (dan tampaknya benar), menambahkan beberapa tautan ke dokumentasi yang relevan atau sumber pendukung akan menjadi positif.
HalosGhost
7
Dalam beberapa kasus, Anda dapat tetap mendapatkan informasi terbaru tanpa harus menyalakan ulang. Namun masalahnya adalah bahwa setelah banyak perubahan, Anda tidak dapat memastikan sistem akan melakukan boot jika terjadi reboot yang tidak direncanakan. Jadi bukan ide yang buruk untuk melakukan reboot terencana untuk pengujian.
Tadas Sasnauskas
jadi tambalan langsung di linux kernel 4 tidak diperlukan? karena sistem harus di-boot secara rutin untuk pemeriksaan bug?
Chenming Zhang
Saya menggunakan perawatan kernel untuk membuat reboot kernel saya.
allquixotic