Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 4.441 pregleda

Najnovija ↓

kill process zaustavlja shell script 24.06.2006. u 19:19 · pre 247 meseci #1
Imam pocetnicko pitanje u vezi bash shell scripte. Hocu da posaljem script-i ime programa kao jedini parametar, i ako je aktivan, da ga ubije i ponovo startuje. Ubija ga OK, ali se onda shell script zaustavlja sa porukom "Terminated" (ili "Killed" ako koristim -9). Moje pitanje je, kako da nastavim script posle kill-a?

Ovako izgleda script, broj 4 se nikada ne prikaze:

Code:

#!/bin/bash
echo "1"
PROCESS_NAME="$1"
echo "2"
PROCESS_NUMBER=`ps ax | grep "$PROCESS_NAME" | awk '{print $1}'`
echo "3"
kill $PROCESS_NUMBER
echo "4"


Pozdrav, Srle
Re: kill process zaustavlja shell script 26.06.2006. u 13:40 · pre 247 meseci #3
Greška u gornjem kodu ti je ta što previše labavo grepuješ i ubijaš proces koji ne treba, jer će ime tvog skripta takođe proći kroz grep filter, zato što si mu kao prvi argument prosledio string koji grepuješ. Naravno, to se može rešiti na milion načina, evo nekih:

Code:
PROCESS_NUMBER=`ps axw | cut -c28- | grep "^${PROCESS_NAME}" | awk '{print $1}'`


Code:
PROCESS_NUMBER=`ps axw | grep "${PROCESS_NAME}"  | grep -v "$0" | awk '{print $1}'`


Code:
PROCESS_NUMBER=`ps -C "${PROCESS_NAME}" -o pid=`
Potpis
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme