Isyarat Linux termasuk: 1. SIGHUP, digunakan untuk menutup proses serta-merta, kemudian baca semula fail konfigurasi dan kemudian mulakan semula 2. SIGINT, isyarat membatalkan program, digunakan untuk menamatkan proses latar depan; . SIGQUIT, program keluar dari Isyarat; proses biasa; 8. SIGCONT 9. SIGSTOP dll.
Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.
Apakah isyarat dalam Linux
Pengurusan proses terutamanya merujuk kepada penutupan dan memulakan semula proses. Apabila kami biasanya menutup atau memulakan semula perisian, kami menutup atau memulakan semula programnya, dan bukannya mengendalikan proses secara langsung. Sebagai contoh, untuk memulakan semula perkhidmatan apache, secara amnya gunakan arahan "perkhidmatan httpd restart" untuk memulakan semula program apache.
Jadi, adakah mungkin untuk menutup atau memulakan semula apache dengan menguruskan proses secara langsung? Jawapannya ya, maka anda perlu bergantung kepada isyarat proses (Isyarat). Kami perlu memberi proses itu nombor dan memberitahu proses apa yang kami mahu ia lakukan.
Isyarat sangat penting dalam sistem pengendalian Linux Isyarat boleh dijana daripada papan kekunci, dijana oleh keadaan perisian atau dijana dengan memanggil pengecualian perkakasan. Terdapat sejumlah 64 isyarat dalam Linux yang dihasilkan daripada panggilan fungsi sistem pengguna Linux boleh melihatnya melalui kill -l, seperti berikut
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX
32 jenis pertama dipanggil isyarat tidak boleh dipercayai dan biasanya digunakan apabila perisian. tidak menyokong barisan Akhirnya, 32 isyarat yang dipanggil boleh dipercayai biasanya digunakan dalam perkakasan untuk menyokong baris gilir.
Isyarat biasa dalam linux
信号代号 | 信号名称 | 说 明 |
---|---|---|
1 | SIGHUP | 该信号让进程立即关闭.然后重新读取配置文件之后重启 |
2 | SIGINT | 程序中止信号,用于中止前台进程。相当于输出 Ctrl+C 快捷键 |
3 | SIGQUIT | 程序退出信号(同 Ctrl + ) |
8 | SIGFPE | 在发生致命的算术运算错误时发出。不仅包括浮点运算错误,还包括溢出及除数为 0 等其他所有的算术运算错误 |
9 | SIGKILL | 用来立即结束程序的运行。本信号不能被阻塞、处理和忽略。般用于强制中止进程 |
14 | SIGALRM | 时钟定时信号,计算的是实际的时间或时钟时间。alarm 函数使用该信号 |
15 | SIGTERM | 正常结束进程的信号,kill 命令的默认信号。如果进程已经发生了问题,那么这 个信号是无法正常中止进程的,这时我们才会尝试 SIGKILL 信号,也就是信号 9 |
18 | SIGCONT | 该信号可以让暂停的进程恢复执行。本信号不能被阻断 |
19 | SIGSTOP | 该信号可以暂停前台进程,相当于输入 Ctrl+Z 快捷键。本信号不能被阻断 |
Isyarat BUNUH, BERHENTI tidak boleh disekat, diabaikan atau ditangkap.
Terma bermaksud menamatkan proses. Teras bermaksud untuk menamatkan proses dan membuang teras. Berhenti menggantung benang, Samb menyambung semula benang yang digantung.
Penggunaan biasa isyarat biasa
SIGHUP
Isyarat ini digunakan apabila sambungan terminal pengguna (biasa atau tidak normal) tamat Dikeluarkan, biasanya apabila proses kawalan terminal ditamatkan, untuk memberitahu kerja individu dalam sesi yang sama bahawa mereka tidak lagi dikaitkan dengan terminal kawalan.
Apabila log masuk ke Linux, sistem akan menetapkan sesi terminal kepada pengguna yang log masuk. Semua program yang berjalan di terminal ini, termasuk kumpulan proses latar depan dan kumpulan proses latar belakang, biasanya tergolong dalam sesi ini. Apabila pengguna log keluar dari Linux, kumpulan proses latar depan dan proses latar belakang yang keluar ke terminal akan menerima isyarat SIGHUP.
Kendalian lalai isyarat ini adalah untuk menamatkan proses, jadi selepas log keluar, proses hadapan dan belakang serta proses dengan output terminal di latar belakang akan ditamatkan.
Walau bagaimanapun, isyarat ini boleh ditangkap Contohnya, wget boleh menangkap isyarat SIGHUP dan mengabaikannya Dengan cara ini, wget boleh terus memuat turun walaupun anda log keluar dari Linux.
Selain itu, untuk daemon yang terputus sambungan dari terminal, isyarat ini digunakan untuk memberitahunya untuk membaca semula fail konfigurasi.
Sebagai contoh, menghantar isyarat HUP ke proses nginx boleh menyegarkan konfigurasi.
SIGINT: Isyarat penamatan program (gangguan), dikeluarkan apabila pengguna menaip aksara INTR (biasanya Ctrl-C), digunakan untuk memberitahu kumpulan proses latar depan untuk menamatkan proses.
SIGQUIT: Sama seperti SIGQUIT, tetapi dikawal oleh aksara QUIT (biasanya Ctrl- Proses ini akan menghasilkan fail teras apabila keluar kerana menerima SIGQUIT, dalam pengertian ini serupa dengan A). isyarat ralat program.
SIGTERM:
Isyarat tamat (menamatkan) program Tidak seperti SIGKILL, isyarat ini boleh disekat dan diproses. Ia biasanya digunakan untuk menghendaki program keluar dengan sendirinya secara normal, membenarkan proses melakukan beberapa kerja pembersihan yang diperlukan sebelum keluar.
Pembunuh arahan shell menjana isyarat ini secara lalai. Jika proses tidak dapat ditamatkan, kami akan cuba SIGKILL.
SIGTERM membolehkan proses berakhir dengan anggun.
SIGCONT: Biarkan proses yang dihentikan terus dilaksanakan Kerja. tetapi hanya pelaksanaan yang digantung. -c menghantar isyarat SIGINT Kepada semua proses dalam kumpulan proses latar depan. Selalunya digunakan untuk menamatkan program yang sedang berjalan.
ctrl-z menghantar isyarat SIGTSTP kepada semua proses dalam kumpulan proses latar depan, selalunya digunakan untuk menggantung proses.
ctrl-d tidak menghantar isyarat, tetapi mewakili nilai binari khas, yang menunjukkan EOF.
Tutorial Video Linux
"Atas ialah kandungan terperinci Apakah isyarat yang ada pada linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!