SAK dalam hal ini sebenarnya berarti Secure Attention Key . Pesan yang Anda lihat adalah pesan kernel yang didefinisikan di driver/tty/tty_io.c. SAK adalah kombinasi tombol yang memastikan login aman untuk pengguna di konsol. Di Linux SAK memastikan ini dengan mematikan semua proses yang terpasang pada terminal SAK yang dipanggil. Diharapkan bahwa init
kemudian akan memulai ulang proses login tepercaya seperti getty
diikuti oleh login
atau server X dengan pengelola tampilan .
PID yang terdaftar memang merupakan PID dari utas aplikasi Anda CX_SC3
yang dibunuh oleh SAK.
fd#n opened to the tty
berarti proses/utas yang dimatikan memiliki deskriptor file n
dibuka ke terminal tempat SAK dipanggil.
Di Linux ada dua cara menjalankan SAK:
-
Melalui tombol ajaib SysRq - biasanya Alt +SysRq +K (terminal virtual) atau Istirahat K (konsol seri). Ini bukan kasus Anda karena Anda sudah mencoba menonaktifkan SysRq ajaib oleh
echo 0 > /proc/sys/kernel/sysrq
dan mengirim Break K urutan secara tidak sengaja tidak mungkin. -
Melalui urutan kunci yang ditentukan (terminal virtual) atau sinyal putus (konsol serial). Ketersediaan SAK pada konsol serial dikontrol oleh
setserial
.
Sinyal pemutusan pada jalur serial adalah pengiriman terus-menerus dari nilai spasi selama waktu yang lebih lama dari waktu pengiriman karakter (termasuk bit mulai, berhenti, dan paritas). Dalam kasus Anda, kemungkinan besar kondisi sinyal Break muncul selama mematikan mesin host Anda. Coba matikan SAK pada port serial Anda pada perangkat target dengan setserial
:
setserial /dev/ttyS0 ^sak
Anda dapat memeriksa status fungsionalitas SAK pada port serial dengan setserial -g /dev/ttyS0
. Saat dinyalakan akan menampilkan SAK
setelah Flags:
. Untuk pengaturan opsi otomatis setelah boot, lihat skrip startup yang pada sistem BusyBox biasanya /etc/init.d/rcS
dan /etc/rc.d/S*
atau centang /etc/inittab
untuk kemungkinan lain.
Saya berhasil menyelesaikan masalah dengan bantuan jawaban pabouk. Solusi berbasis kode yang akhirnya saya temukan yang memungkinkan SAK
flag untuk disetel/tidak disetel pada port serial saat dibuka menggunakan API userspace dapat ditemukan di stackoverflow di sini Bagaimana cara menonaktifkan opsi SAK port serial di Linux menggunakan API userspace?