objorkum Skrevet 10. mars 2004 Skrevet 10. mars 2004 ...sjekker om et program kjører, og dersom det gjør det, kjør en kommando, og dersom ikke, kjør en annen. Takk for svar.
slime mold Skrevet 10. mars 2004 Skrevet 10. mars 2004 #!/bin/sh if [ `ps -aux | grep programnavn | wc -l` == 0 ]; then echo "Programmet kjører ikke." else echo "Programmet kjører." fi (utestet)
Velmont Skrevet 10. mars 2004 Skrevet 10. mars 2004 Hmmm.... hmmmmmm.... hmm.. hmm.... Tror altså at den der alltid vil skrive: programmet kjører fordi ps aux vil også inneholde: grep programnavn - så grep programnavn vil alltid ha 1 forekomning av programnavn Såååå... Prøv å sett den 0'en til et et-tall eller noe så kanskje det funker.. Men om 0'en står for false, og 1 for true så blir det også feil
gspr Skrevet 10. mars 2004 Skrevet 10. mars 2004 (endret) "pidof <prosessnavn>" er da mye kjekkere. Returnerer 0 hvis programmet kjører (og printer pid'en til standard output), eller returnerer 1 hvis programmet ikke kjører (og printer en blank linje til standard output. Edit: #!/bin/bash pid=$(pidof $1) if [ "$?" -eq 0 ] then echo "Kjører med PID: $pid" else echo "Kjører ikke!" fi Dette scriptet tar et prosessnavn som argument, og lister opp PID(ene) til prosessen hvis den kjører, og sier ifra hvis den ikke kjører. Endret 10. mars 2004 av gspr
xeon Skrevet 10. mars 2004 Skrevet 10. mars 2004 (endret) if ps aux | grep -v grep | grep prosessnavn; then echo running else echo nope.. fi eventuelt if ps aux | grep -v grep | grep prosessnavn &>/dev/null; then echo running else echo nope.. fi Endret 10. mars 2004 av xeon
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå