Miten tapetaan prosessi?

Miten tapetaan sellainen prosessi, jonka numero ei ole tiedossa, mutta parametreissa on sana "xxx" ?

Eli voidaan ensin katsoa mikä numero on prosessilla: "ps -aux | grep xxx" Ja sitten tappaa se. Mutta onnistuuko tämä yhdellä komennolla?
5408
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

pelkällä parametrilla. Jos tiedossa on ohjelman nimi, niin killall kyllä sen tappaa.

Äänestä
  • Ohjelman nimi on tiedossa, mutta on käynnissä useampi samanniminen prosessi ja ainoastaan parametrilla ne voi erottaa.

    Äänestä

  • edellinen kirjoitti:

    Ohjelman nimi on tiedossa, mutta on käynnissä useampi samanniminen prosessi ja ainoastaan parametrilla ne voi erottaa.

    Katso saatko tästä kehiteltyä mitään. Luo tiedosto nimeltä killem ja liitä tämä teksti siihen:

    #!/bin/bash

    ps -eLf | grep firefox | grep 7695 >> kill.txt
    kill `cut -c11-14 kill.txt`

    Joudun tässä käyttämään esimerkkinä firefoxia joten sen tilalle tulee halutun ohjelma nimi, samoin minulla on tässä LWP eli säikeennumero jolla poimin yhden säikeen joukosta mutta sun täytyy poimia sillä "xxx" jutskalla se haluttu rivi. Tuo rivi tulostetaan "kill.txt" nimiseen tiedostoon josta PID poimitaan cut-komennolla. Huomaa että koska tuloste ei ole sarakemuotoista niin cutin kanssa ei voi käyttää -f optiota vaan on tyydyttävä merkkien poimimiseen, esimerkissä "cut -c11-14" poimitaan siis riviltä merkit 11-14 joissa on PID sulla se voi olla eri kohdassa jos käyttäjänimessä on enemmän kirjaimia eli tapauskohtaisesti numerointi.

    Lopuksi sitten annetaan kill-komento poimitulle PID-numerolle.

    Komento ajetaan komentoriviltä

    ./killem

    mikäli sen voi ajaa userina.

    Jos teet siitä aliaksen niin riittä pelkkä kirjain "k" jolloin k-kirjaimen enteröinti tappaa prosessin.

    Kokeile jos saat tuolla rakennettu jotain hyödyllistä.

    Äänestä

  • old_profile_3778 kirjoitti:

    Katso saatko tästä kehiteltyä mitään. Luo tiedosto nimeltä killem ja liitä tämä teksti siihen:

    #!/bin/bash

    ps -eLf | grep firefox | grep 7695 >> kill.txt
    kill `cut -c11-14 kill.txt`

    Joudun tässä käyttämään esimerkkinä firefoxia joten sen tilalle tulee halutun ohjelma nimi, samoin minulla on tässä LWP eli säikeennumero jolla poimin yhden säikeen joukosta mutta sun täytyy poimia sillä "xxx" jutskalla se haluttu rivi. Tuo rivi tulostetaan "kill.txt" nimiseen tiedostoon josta PID poimitaan cut-komennolla. Huomaa että koska tuloste ei ole sarakemuotoista niin cutin kanssa ei voi käyttää -f optiota vaan on tyydyttävä merkkien poimimiseen, esimerkissä "cut -c11-14" poimitaan siis riviltä merkit 11-14 joissa on PID sulla se voi olla eri kohdassa jos käyttäjänimessä on enemmän kirjaimia eli tapauskohtaisesti numerointi.

    Lopuksi sitten annetaan kill-komento poimitulle PID-numerolle.

    Komento ajetaan komentoriviltä

    ./killem

    mikäli sen voi ajaa userina.

    Jos teet siitä aliaksen niin riittä pelkkä kirjain "k" jolloin k-kirjaimen enteröinti tappaa prosessin.

    Kokeile jos saat tuolla rakennettu jotain hyödyllistä.

    Tätä on turhaa kenenkään uteliaan kokeilla koska PID on aina erilainen eli tämä ei toimi tällaisenaan, tuo PID pitäisi aina poimia erikseen jos yksi prosessi haluttaisiin tappaa eikä tuossa olisi mitään mieltä, tämä toimii siis vain jos tuon LWP-numeron sijaan pystyy pistämään jonkin kiiteänä pysyvän arvon jota voi suodattaa grepillä.

    Oli vain periaatteellinen esimerkki.

    Äänestä

Tee pikku 3-rivinen bash-skripti:

etsittava_sana="$1"
sisaltaa_pidn=(`ps | grep "$etsittava_sana"`)
kill -KILL "${sisaltaa_pidn[0]}"

Käyttö:
bash skripti xxx

Käytä tätä omalla vastuulla... :)

Äänestä

Kommentoi aloitusta


auttakaa.... kirjoitti:

Miten tapetaan sellainen prosessi, jonka numero ei ole tiedossa, mutta parametreissa on sana "xxx" ?

Eli voidaan ensin katsoa mikä numero on prosessilla: "ps -aux | grep xxx" Ja sitten tappaa se. Mutta onnistuuko tämä yhdellä komennolla?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu