Dalam sistem Linux, menunggu tidur biasanya digunakan untuk menjimatkan kuasa, atau menunggu operasi penting tertentu selesai. Walau bagaimanapun, dalam aplikasi sebenar, anda mungkin menghadapi pelbagai situasi di mana anda perlu menggunakan kaedah menunggu tidur yang berbeza. Artikel ini akan memperkenalkan anda kepada 5 kaedah menunggu hibernasi Linux yang biasa digunakan untuk membantu anda memahami dan menguasai teknik ini dengan lebih baik.
Arahan tidur dan tunggu dalam Linux membolehkan anda menjalankan arahan pada kelajuan yang dipilih atau menangkap dan memaparkan status keluar tugas selepas menunggu tugas itu selesai. sleep hanya memasukkan jeda bermasa antara arahan. Perintah tunggu dimaklumkan bahawa ia telah selesai sehingga ia selesai.
Arahan tidur
Perintahsleep akan dijeda untuk masa yang ditentukan. Ia biasanya digunakan dalam skrip, tetapi juga berfungsi pada baris arahan. Dalam contoh di bawah, tidur dijeda selama 30 saat antara dua arahan tarikh.
[root@localhost ~]# date ; sleep 30 ; date Thu Nov 11 05:06:44 EST 2021 Thu Nov 11 05:07:14 EST 2021
Perintah tidur mengambil hujah berangka sebagai bilangan saat. Tetapi anda juga boleh membuatnya tidur untuk masa yang berbeza dengan menambahkan aksara dalam parameter:
Masa tidur pun boleh kurang dari 1 saat, cuma tambah .
.
sleep biasanya digunakan untuk menjalankan perintah secara berkala, seperti setiap 10 saat atau setiap minit, apabila anda ingin memantau beberapa aktiviti. Sebagai contoh, anda mungkin sedang menunggu rakan sekerja untuk log masuk ke pelayan fail. Anda mungkin menjalankan arahan seperti ini:
[root@localhost ~]# date ; sleep 10s ; date Thu Nov 11 05:11:09 EST 2021 Thu Nov 11 05:11:19 EST 2021
Anda boleh melihat perubahan dalam penggunaan memori.
[root@localhost ~]# date ; sleep .1 ; date Thu Nov 11 05:14:03 EST 2021 Thu Nov 11 05:14:03 EST 2021
Tunggu arahan
Perintahwait menangkap status keluar dari proses latar belakang selepas menunggu proses latar belakang selesai. Anda juga boleh menggunakannya dalam skrip. Gantikan arahan tidur dengan proses yang anda mahu tunggu. Skrip ini juga memaparkan status keluar.
[root@localhost ~]# while true ; do who ; sleep 100 ; done
Barisan pertama memulakan arahan tidur di latar belakang. Baris kedua mendapat ID proses proses latar belakang yang paling baru dilaksanakan$!
. Skrip kemudian memaparkan mesej, menunggu proses selesai dan memaparkan status keluar.
Jika anda menggunakan wait -n (tiada parameter tambahan diperlukan), tunggu akan menunggu sebarang tugas latar belakang selesai. Dalam contoh di bawah, arahan sleep 6 selesai dahulu dan skrip tamat, tetapi dua proses tidur yang lain akan terus berjalan di latar belakang selama beberapa saat.
[root@localhost ~]# while true ; do free -h ; sleep 5 ; done
Jika ditukar kepada skrip berikut, ia akan memberitahu anda apabila setiap proses tidur selesai. Disebabkan oleh pemasaan, ini akan berlaku dalam susunan terbalik dari semasa proses tidur bermula.
#!/bin/bash sleep 5 & process_id=$! echo “PID: $process_id” wait $process_id echo “Exit status: $?”
Nota: Proses menunggu mestilah "proses kanak-kanak" (proses yang dimulakan dalam shell semasa).
Ringkasnya, terdapat banyak cara untuk tidur dan menunggu dalam sistem Linux, dan setiap kaedah mempunyai senario, kelebihan dan keburukan aplikasi khasnya sendiri. Hanya dengan pemahaman yang betul tentang prinsip asas dan skop penggunaannya boleh digunakan dengan lebih baik. Saya percaya bahawa melalui pengenalan artikel ini, anda mempunyai pemahaman yang lebih mendalam tentang menunggu hibernasi Linux.
Atas ialah kandungan terperinci 5 cara yang berkaitan dengan menunggu hibernasi dalam sistem Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!