Portál AbcLinuxu, 12. května 2025 15:41
Ahoj vsem,
potrebovalbych nejakym scriptikem otestovat zda-li aktualne bezi nejaky jiny scrip , pokuad ne vykonej script1 pokud ano echo busy
zkousel jsem
ps | grep -v grep | grep per >/dev/null || echo "nebezi"
toto asi funguje presne naopak navic tam neumim dat druhou variantu else
dekuji za radu
pgrep
. Ako parameter bere nazov procesu (skriptu) a vypluje jeho PID. Ak proces nebezi, nevrati nic.if [ `pgrep nazov_scriptu | wc -l` -gt 0 ] then echo "bezi" else echo "nebezi" fi
Super diky,
lze to resit i jinak kdyz nemam k dispozici pgrep?
diky moc
#!/bin/bash if ps aux | grep xterm > /dev/null then echo bezi else echo nebezi fiMně to takhle funguje.
jenda@paranoid:~/tmp$ ./skript.sh nebezi jenda@paranoid:~/tmp$ xterm& [1] 10773 jenda@paranoid:~/tmp$ ./skript.sh bezi
tak to nejak nemuzu rozchodit mam to na routriku wl-500gx kde je kernel 2.4.20
bezi tam SH
a potreboval bych otestovat zda-li bezi tento script
/opt/bin/perl /opt/etc/teplomer/rrd_teplomer_data.pl
psaux | grep teplomer
vrací proces, když běží?
Praveze nevraci :(
tak jsem to nakonec asi vresil takto
#!/bin/sh
if ps | grep -v grep | grep teplomer > /dev/null
then
echo bezi
else
echo nebezi
fi
vypada ze to tak nejak facha
diky moc vsem
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.