Rumah  >  Artikel  >  Tutorial sistem  >  Cara menggunakan arahan Tidur dan Tunggu dalam sistem Linux

Cara menggunakan arahan Tidur dan Tunggu dalam sistem Linux

王林
王林ke hadapan
2024-02-13 09:30:14793semak imbas

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, manakala arahan tunggu memberitahu anda bahawa ia selesai sehingga selesai.

Arahan tidur

Perintah

sleep akan dijeda untuk masa yang ditentukan. Ia biasanya digunakan dalam skrip, tetapi juga boleh digunakan dari baris arahan. Dalam contoh berikut, 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 Linux 系统中 Sleep 和 Wait 命令的使用方式

sleep mengambil hujah berangka sebagai saat. Tetapi anda juga boleh membuatnya tidur untuk masa yang berbeza dengan menambahkan aksara dalam parameter:

  • 10s = 10 saat
  • 1m = 1 minit
  • 2j = 2 jam
  • 3h = 3 hari
rreeee

Masa tidur pun boleh kurang dari 1 saat, cuma tambah ..

di hadapan nombor
  • .1 = satu persepuluh saat
  • .01 = seperseratus saat
  • .001 = seperseribu saat
rreeee Arahan

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
Linux 系统中 Sleep 和 Wait 命令的使用方式

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
Linux 系统中 Sleep 和 Wait 命令的使用方式

Tunggu arahan

Perintah

wait 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 untuk sebarang tugasan 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 anda menukarnya 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).

Ringkasan

Kedua-duanya boleh digunakan dalam skrip atau baris arahan. Walau bagaimanapun, arahan tunggu hanya berfungsi pada proses yang berjalan di latar belakang.

Atas ialah kandungan terperinci Cara menggunakan arahan Tidur dan Tunggu dalam sistem Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lxlinux.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam