Saya sedang mengembangkan aplikasi dan saya ingin mencetak beberapa statistik runtime ke konsol sesuai permintaan. kill
dan sinyal datang ke pikiran saya segera.
Membaca sinyal Unix di Wiki, SIGINFO
sepertinya cara untuk melakukannya karena:
- Ini dimaksudkan untuk tujuan ini
- Tidak menghentikan proses jika penangan sinyal tidak diterapkan (bertentangan dengan
SIGUSRx
- lihat di sini )
Namun, dengan memeriksa output kill -l
, sepertinya server saya tidak menerapkan sinyal ini.
Pertanyaan saya adalah:
- Mengapa ada yang
SIGINFO
hilang di sistem saya? Apakah tidak ada di semua sistem GNU Linux? - Apakah ada cara mudah (yaitu tidak ada kompilasi ulang kernel / glibc) untuk mengaktifkan sinyal ini? Jika tidak ada, apa yang akan menjadi jalan yang sulit?
- Sinyal alternatif apa yang dapat saya gunakan untuk tujuan saya yang tidak akan menimbulkan efek samping jika tidak ditangani oleh proses target? (Saya sudah mengasumsikan tidak ada karena saya tidak dapat menemukan sinyal lain yang cocok pada manual glibc )
Linux metainfo:
Linux whatever 3.18.2-2-ARCH #1 SMP PREEMPT Fri Jan 9 07:37:51 CET 2015 x86_64 GNU/Linux
Pembaruan: Saya masih mencari informasi lebih lanjut tentang mengapa sinyal ini dikecualikan dari sistem lain selain BSD (lihat komentar di bawah). Sinyal tampaknya cukup berguna untuk banyak tujuan sehingga sulit bagi saya untuk percaya itu hanya masalah kemauan - jadi apa showstopper nyata untuk sinyal ini tersedia di Linux?
dd
dengan itu di Mac saya. ^T
selama dd
eksekusi tidak melakukan apa pun pada mesin Linux - Saya akan memperbarui pertanyaan yang sesuai.
^T
muncul di outputstty -a
?