![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| UNIX for Advanced & ekspertbrukere Expert-til-ekspert. Lær avanserte UNIX UNIX kommandoer, Linux operativsystem, systemadministrasjon, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Diff b / n drepe og kill -9 | ammu | UNIX for Advanced & ekspertbrukere | 2 | 07-18-2007 06:29 |
| kill (0, -9) ikke drepe prosessen | umen | High Level Programmering | 9 | 06-19-2007 07:09 |
| ikke i stand til å drepe finne med kill -9 | Amardeep | UNIX for Dummies Spørsmål og svar | 5 | 01-04-2007 05:49 |
| Kill PID, intern skulle drepe en annen PID. | rkrgarlapati | Shell programmering og Skripting | 4 | 10-17-2006 08:47 |
| Når drepe doesnt work, hvordan drepe en prosess? | VijayHegde | UNIX for Advanced & ekspertbrukere | 3 | 05-12-2006 05:24 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden |
Vurdering:
|
Visningsmoduser |
|
|
|
||||
|
Kill uten PID
Hellow Eksperter
Jeg har ett problem. jeg kjøre ett skript i backgroun. og jeg vil drepe dette skriptet bare script navn ..... Så hva er løsningen .. for info min skriptet heter "testscript" n den inneholder "sleep 100" takk .... |
|
||||
|
Hvis systemet har pidofBruk det. Ellers er den vanlige løsningen er å kjøre grep på en ps Oppføringen av prosesser, og bruk dette til å finne PID passerer til drepe. Men en naiv forsøk har problemet at det vil finne seg i prosessen liste, og begå selvmord i stedet for å drepe det tiltenkte målet. Den riktige løsningen for dette er å bruke et vanlig uttrykk som ikke direkte samsvarer seg som søkestreng. Dessverre er valg og utdataformat av ps varierer fra ett system til et annet. Følgende arbeider for meg på et senere versjon av Ubuntu. Code:
ps t | awk '$5 ~ /^[t]estscript/ { print $1 }' | xargs -r kill
Bruken av [t] i stedet for bare en vanlig t er løsningen for "skriptet vil drepe seg selv"-problemet. Bruken av xargs-r hindrer drepe fra å kjøre i det hele tatt hvis det ikke stemmer (det skulle bare være en advarsel om å kjøre drepe uten argumenter, så det er ikke en svært kritisk problem). Alternativet t og feltet for $ 1 og $ 5 kanskje trenger å bli endret på systemet ditt. Hvis du google for en lignende løsning for din plattform, se opp for problemene skissert ovenfor. For stilistiske grunner, en enkelt awk Skriptet skal foretrekkes over hva som er affectionately kalles Useless Bruk av grep. Sist endret av æra; 08-02-2008 på 04:44.. |
|
|||||
|
Hvis du bruker Linux, kan du bruke killall kommandoen for å drepe en prosess bruker prosessen navn (s) (ikke PID).
Se for eksempel: killall (1): drepe prosesser ved navn - Linux mann siden Se alle pkill: http://linux.die.net/man/1/pkill |
|
||||
|
Noe enkelt:
killall procname En annen måte: innsiden skriptet, lage en midlertidig fil som inneholder det gjeldende pid av skriptet. Når du ønsker å avslutte prosessen, bruke det slik: kill -9 `cat pidfile` Hvis du vil ha noe konkret og nøyaktig: - Setuid () til en annen bruker som bare kjører denne prosessen (script) - Pkill -9-u youruser Du kan også bruke pkill å drepe alle prosesser ved hjelp av en bestemt terminal pkill -9-t pts / 1 |
![]() |
| Hugseliste |
| Tags |
| finne prosess id, drepe |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|