The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > UNIX for Advanced & ekspertbrukere
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Vurdering: Thread Rating: 1 votes, 2.00 average. Visningsmoduser
  #1 (permalink)  
Old 08-02-2008
luckypower luckypower is offline
Registrert bruker
  
 

Bli Dato: Aug 2008
Innlegg: 6
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 ....
  #2 (permalink)  
Old 08-02-2008
æra era is offline Forum Advisor  
Herder av Useless Cats (På Sabbatical)
  
 

Bli Date: Mar 2008
Sted: / det / er / bare / bin / sh
Innlegg: 3652
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..
  #3 (permalink)  
Old 08-26-2008
ddreggors ddreggors is offline
Registrert bruker
  
 

Bli Dato: Aug 2008
Innlegg: 91
Sitat:
Originally Posted by æra View Post

Code:
ps t | awk '$5 ~ /^[t]estscript/ { print $1 }' | xargs -r kill

Det er ok tid, vil jeg gjøre det for deg
  #4 (permalink)  
Old 08-02-2008
Neo's Avatar
Neo Neo is offline Forum Staff  
Administrator
  
 

Bli Dato: Sep 2000
Sted: Asia
Innlegg: 6815
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
  #5 (permalink)  
Old 08-02-2008
luckypower luckypower is offline
Registrert bruker
  
 

Bli Dato: Aug 2008
Innlegg: 6
Jeg har løsningen
Bruke
kill `ps-C test.sh-o pid \u003d`
  #6 (permalink)  
Old 08-02-2008
Neo's Avatar
Neo Neo is offline Forum Staff  
Administrator
  
 

Bli Dato: Sep 2000
Sted: Asia
Innlegg: 6815
På Linux kan du enkelt skrive:

killall testscript
  #7 (permalink)  
Old 08-02-2008
fryktinngytende redoubtable is offline
Registrert bruker
  
 

Bli Dato: Aug 2008
Beliggenhet: Portugal
Innlegg: 242
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
Closed Thread

Hugseliste

Tags
finne prosess id, drepe

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 01:46.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0