Programok rendszeres futtatása a Watch parancs használatával Linuxon

Néha többször is le kell futtatnia egy parancsot vagy programot a rendszer különböző aspektusainak, például a folyamatban lévő folyamatok, a lemezterület-használat vagy a felhasználói bejelentkezés figyeléséhez. A Linux watch parancs segítségével automatizálhatja ezeket a feladatokat anélkül, hogy újra és újra manuálisan le kellene futtatnia őket.

Ezzel a paranccsal valós időben figyelheti a rendszertevékenységeket, például a felhasználói bejelentkezéseket, a hálózati állapotot, a memória- és CPU-használatot, a lemezterületet stb. Nézzük meg, hogyan kell használni a watch parancsot Linuxon.

Mi az a Watch Command?

A watch Linux parancs ismételten, rendszeres időközönként futtat egy megadott parancsot vagy programot, és megjeleníti a kimenetét a terminálban. Ez lehetővé teszi a kimenet változásainak valós időben történő megfigyelését. Minden intervallumban frissíti a kimenetet, felülírva a parancs előző kimenetét. Alapértelmezés szerint a parancs két másodpercenként ismétlődik, és addig folytatódik, amíg manuálisan le nem állítja a Ctrl + C billentyűkombinációval.

Nézd meg a Parancs szintaxist

A watch parancs szintaxisa a következő:

 watch options <command> 

Különféle parancssori opciók állnak rendelkezésre a figyelő parancshoz. Ha opciók nélkül futtatja a figyelő parancsot, akkor az két másodpercenként futtatja a megadott parancsot. Például a következőkben megjelenik az ls parancs kimenete:

 watch ls -l ~/ 

A kimenet megmutatja a könyvtárlistában bekövetkezett változásokat, ha egy fájlt létrehoznak, törölnek vagy megváltozik a méret, miközben a kimenet két másodpercenként frissül.

Futtasson egy parancsot X másodpercenként az óra használatával

Módosíthatja a figyelési parancs frissítési időközét. Ez azt jelenti, hogy megmondhatja a figyelő parancsnak, hogy várjon x másodpercet, mielőtt megismétli a parancsot. A frissítési időköz módosításához használja az -n kapcsolót, majd az időintervallumot másodpercben.

 watch -n  

Például egy parancs 5 másodpercenkénti futtatásához futtassa:

 watch -n 5 <command> 

Jelölje ki a Változások a frissítések között

A watch parancs minden frissítéskor felülírja a kimenetét. A -d kapcsolóval az előző és a frissített kimenet közötti változásokat is kiemelheti.

 watch -d 

Fejléc elrejtése az óra parancs kimenetében

Alapértelmezés szerint a watch parancs minden kimenet tetején egy fejlécet jelenít meg, amely tartalmazza a frissítési időközt, a parancs nevét, valamint a rendszer aktuális dátumát és időpontját. A fejlécet leválaszthatja a kimenetről a -t kapcsolóval:

 watch -t <command> 

Lejátssza a Hangjelzéseket hibánál

Amikor egy Linux-folyamat befejeződik, egy kilépési kódot ad vissza. Megállapodás szerint az érték 0 a sikeresség esetén, és nem nulla, ami hibát jelent. A watch parancs -b kapcsolója sípoló hangot ad, ha a parancs nullától eltérő kilépést ad vissza.

Tegyük fel, hogy figyelni szeretné az sshd.service fájlt, és értesítést szeretne kapni, amikor a szolgáltatás leáll; használnád:

 watch -b sudo systemctl status sshd.service 

Ez a parancs sípoló hangot ad, amikor a szolgáltatás leáll. A hangjelzés megszűnik, amikor a szolgáltatás folytatódik. Ennek teszteléséhez nyisson meg egy másik terminálablakot, és állítsa le a szolgáltatást. Ez folyamatos hangjelzést ad a szolgáltatás újraindításáig. Ennek a funkciónak a használatához azonban telepítenie kell a csipogó csomagot a rendszerére.

Lépjen ki az órából Parancs a kimenet módosításakor

Azt is megmondhatja a figyelő parancsnak, hogy álljon le, és lépjen ki, ha a parancs kimenete megváltozik. Ezt a -g kapcsolóval teheti meg. Ez az opció nagyon hasznos olyan esetekben, amikor bizonyos változásokra vár a kimenetben.

Amint a kimenet megváltozik, az óra parancs leáll. Ezt a használatot kombinálhatja az echo paranccsal, hogy üzenetet jelenítsen meg a képernyőn.

Vegyünk például egy forgatókönyvet, amikor arra vár, hogy egy fájl megérkezzen a könyvtárába. A következő parancs figyeli a megadott fájl könyvtárát. Amint megérkezik, a watch parancs leáll, és a megérkezett üzenetfájl megjelenik a terminálon.

 watch -g "ls -l | grep filename" && echo "file arrived" 

Egy másik hasznos példa egy értesítés, amikor egy adott felhasználó bejelentkezik a rendszerébe:

 watch -g "who | grep username" && echo "username logged in" 

Ez a parancs figyeli a who parancs kimenetét, amely felsorolja a bejelentkezett felhasználókat. Amint a felhasználó bejelentkezik, a watch parancs leáll, és egy üzenetet jelenít meg a terminálon.

Hasonlóképpen megmondhatja a watch parancsnak, hogy állítsa le a szolgáltatást, ha változtatásokat hajt végre egy fájlban. Ne feledje, hogy vezetékes parancslánc használatakor a teljes parancsot idézőjelek közé kell tennie.

Nézze meg a tevékenységeket Linux rendszerében

Ha ugyanazt a folyamatot ismételten megteszi, fontolja meg a watch parancs használatát az automatizáláshoz. Megkíméli Önt attól, hogy gyakran írja be a parancsokat, hogy megnézze, mi változott.

A watch parancsot más Linux-parancsokkal együtt is használhatja a rendszererőforrások és -tevékenységek figyelésére, valamint a fájlok vagy könyvtárak változásainak nyomon követésére.