Rumah > pembangunan bahagian belakang > C++ > Program C yang tidak akan berhenti seketika apabila Ctrl+Z ditekan

Program C yang tidak akan berhenti seketika apabila Ctrl+Z ditekan

WBOY
Lepaskan: 2023-09-19 18:13:02
ke hadapan
1421 orang telah melayarinya

Program C yang tidak akan berhenti seketika apabila Ctrl+Z ditekan

Dalam pengaturcaraan, apabila atur cara tidak berfungsi dan berjalan dengan cara yang tidak dijangka dalam pengkompil terminal, pengaturcara mempunyai hak untuk secara eksplisit menghentikan program daripada berjalan. Untuk menghentikan program secara eksplisit, pengguna mesti mengetahui pintasan papan kekunci yang betul untuk ditekan.

Untuk menamatkan pelaksanaan blok kod, dua jenis pintasan papan kekunci digunakan.

  • Ctrl+c - Digunakan untuk menghentikan pelaksanaan program yang mengambil sedikit masa untuk menyelesaikan operasi input/output dan kemudian menjeda pelaksanaan. Ia menghantar isyarat SIGINT kepada proses dan proses itu akan ditamatkan. Dalam sesetengah bahasa, ini boleh dikendalikan melalui fungsi isyarat yang serupa dengan bahasa C SIGINT.

  • Ctrl+z - Digunakan untuk menghentikan pelaksanaan program Semua tugasan yang berkaitan dengan proses ditutup dan pelaksanaan digantung. Ia menghantar isyarat SINTSTP kepada proses, menamatkan pelaksanaan program. Walaupun dilaksanakan dengan cara yang sama, isyarat ini lebih berkuasa daripada yang lain. Ini juga boleh dikendalikan.

Di sini, kami akan menulis kod yang boleh memintas panggilan ctrl+z. Daripada dijeda, atur cara akan mencetak "ctrl+z tidak boleh menjeda kod ini".

Seperti yang dinyatakan di atas, bahasa pengaturcaraan C boleh mengendalikan panggilan ctrl+z. Apabila isyarat SINTSTP dipanggil untuk menamatkan proses program, kami akan mentakrifkan semula peranan isyarat ini supaya apabila digunakan ia tidak menamatkan kod dan mencetak baris. Kaedah

signal() digunakan untuk mengendalikan perkara jenis ini.

Contoh

Demonstrasi

#include <stdio.h>
#include <signal.h>
void signalhandler(int sig_num){
   signal(SIGTSTP, signalhandler);
   printf("Cannot execute Ctrl+Z</p><p>");
}
int main(){
   int a = 1;
   signal(SIGTSTP, signalhandler);
   while(a){
   }
   return 0;
}
Salin selepas log masuk

Output

// an infinite loop
Salin selepas log masuk

Atas ialah kandungan terperinci Program C yang tidak akan berhenti seketika apabila Ctrl+Z ditekan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan