Automatsko ubijanje zalaufanih procesa
(1 korsinik/a gleda/ju temu) (1) Gost

Automatsko ubijanje zalaufanih procesa


07.06.2016 | 10:29
Obzirom da, nažalost, živim sa starcima od kojih onaj ženski dio hoće internet na svom računalu, a uzevši u obzir da nemam bežični router, to ga MBP uvjerljivo glumi s dijeljenjem žičnog interneta putem wifija. Obzirom da se majka budi rano, a obzirom da dijeljenje veze onemogućuje sleep, to MBP radi 24/7.

Moj problem je u tome što me usred noći probude ventilatori koji od miroljubivih 3000 RPM skoče na 6200 jer se neki procesi aktiviraju i ubijaju procesor: systemstats i runouc tek su neki od njih. Probudim se, force-quit i onda pokušavam zaspati.

Može li se pokrenuti nekakav program/skripta/automator koji bi radio 24/7 (na Mavericksu sam) i osluškivao je li neki od tih procesa prešao X% zauzeća procesora te ga onda force-quit-ao? To bi mi bitno olakšalo san.
07.06.2016 | 11:03
Meni to zvuči kao borba s posljedicom, umjesto s uzrokom problema. Odseli od roditelja!
Šala, naravno! Daj za probu pokušaj na tom wifiju isključiti enkripciju skroz, na jednu noć, čisto da vidiš da li se i dalje događa isti problem.

Za AppleScript, taj komad koda koji provjerava opterećenje bi mogao ovako nekako izgledati:
try
get paragraphs of (do shell script "ps -clx")
tell (the result as text) to set {CPU, PID} to {fifth word, second word}
(ovdje bi trebalo pozvati shell s komandom kill -9 iza koje ide PID kojeg si pokupio prije, ali nemam se vremena sad igrati, možda naiđe Đipi, on to ima u malom prstu... :) )
on error errmess
-- display dialog errmess
end try
07.06.2016 | 14:55
Nabavi router. Jeftini su. Zasto ne kupis jedan?
Bas gledam, po 100kn su.
07.06.2016 | 15:13
Čovjek ima nerazriješene emotivne sukobe sa svojim roditeljima pa ih kažnjava tako što nemaju interneta kad on odnese laptop sa sobom.
07.06.2016 | 16:35
Da stvarno voli starce, svakom bi kupio rMBP
07.06.2016 | 17:42
E sad za mail i internet!
Mojima je dobar i onaj Lenovo koji je Konzum prodavao.
07.06.2016 | 18:15
Moja stara koristi ovo i ne odustaje:
07.06.2016 | 19:27
Otporno na viruse!
07.06.2016 | 21:19
Eh... Kako ono ide ona židovska kletva: "dabogda imao pa nemao"? Živio sam sam, u više navrata, ali silom prilika prisiljen sam na suživot.

Testirat ću svašta od ponuđenog, al router ne kupujem! The line must be drawn here, this far, no further!!

Inače, mama još uvijek ima onaj iMac G3, upalimo ga par puta godišnje čisto da vidimo jel radi
07.06.2016 | 21:28
Teško da je AppleScript sretno rješenje za ovaj slučaj jer idle loop u njemu troši ~10% procesora, a dok obavi sve što treba za riješiti aktualni problem skočit će i preko 100% (ako postoji više od jednog procesora). U tom smislu podržavam prijedlog hardverskog rješenja - za softverski bi bila primjerenija "čista" terminalska skripta koja se aktivira u željenim razmacima ili neki alat poput monita.

Potencijalni AppleScript mazohisti, na tragu kojim je Smayoo krenuo, mogu iskoristiti ovo u nastavku:

repeat
  
  set check_interval to 5
  set cpu_limit to 300
  
  set ps_out to paragraphs of (do shell script "ps x -o pid,%cpu | sort -nrk 2")
  
  repeat with next_line in ps_out
    set PID to first word of next_line as integer
    set CPU to second word of next_line as real
    if CPU > cpu_limit then do shell script "kill -9 " & PID
    if CPU = 0 then exit repeat
  end repeat
  
  delay check_interval
  
end repeat


Objašnjenje koda: u beskonačnoj petlji postavlja se željeni interval za provjeru (5 sekundi u primjeru) i limit nakon kojega se gasi proces (300% iskorištenosti procesora u primjeru). Upozoravam da ako se postavi na 100%, velika je vjerojatnoća da će skripta ugasiti samu sebe. Kriptična linija koja poziva shell komandu oslanja se na "ps" naredbu iz koje čupa PID i %CPU podatak (CPU podatak, bez znaka postotka, bi većinu vremena vraćao nulu!) te ih sortira po %CPU, silazno tako da se u nastavku pokrati testiranje procesa. Petlja koja obrađuje liniju po liniju (koje vraća ps) konvertira PID i CPU u brojeve (jer dolaze kao stringovi), a potom ih testira - ako je CPU vrijednost (koja je zapravo %CPU vrijednost) veća od upisanog limita (300 u primjeru), poziva shell komandu koja gasi taj proces. Drugi if je optimizacija i služi za prekid petlje čim naiđe na prvu nultu vrijednost i zapravo se može optimizirati i pametnije, tako da se prekine testiranje čim je CPU < cpu_limita (jer dalje nema potrebe testirati). Delay pauzira zadani broj sekundi (5). I onda sve iznova, uključno s nepotrebnim trošenjem procesora na AppleScript.

Izbacio sam try blokove (koji bi omogućili izvršavanje skripte i u slučaju greške), ali za "ozbiljno" (što je u ovom slučaju oksimoron) korištenje trebalo bi ih vratiti jer skripta, primjerice, može puknuti ako neki proces koji nije u vlasništvu korisnika prijeđe CPU limit - njega bi trebalo gasiti sa "sudo" komandom (što bi usputno bio i security breach), a to bi pak moglo rezultirati ubijanjem nekog procesa koji ne bi smio biti ubijen (jer pripada sistemu, primjerice). Try blok je u tom scenariju dobra pomoć jer skripta u ovom obliku ne bi mogla pogasiti taj proces, ali ne bi ni puknula - tako da ga se u teoriji može dodati, a u praksi skriptu treba izignorirati jer je zla.
07.06.2016 | 22:05
john_st kaže:
Testirat ću svašta od ponuđenog, al router ne kupujem!


Ja te ne razumijem, ali stvarno. Ne zelis kupiti jer ne mozes ili ne zelis?
Ako su novci u pitanju, nasel se bude neki WiFi router.

EDIT
Mislim, zakaj se patis, njuskalo je puno onih Zyxel Prestige 600 routera po 50kn jer ih je T-Com davao uz Adsl. Odlicni su,a li nisu zadnj krik tehnike. Imao ga godinama dok nisam kabel dobio u stan.
07.06.2016 | 22:09
@Djipi - HVALA!!!

@zabac - Tvrdoglav sam
07.06.2016 | 22:13
Tvrdoglavost je jedno, komocija nesto drugo. Radi rasprave upogoni ovo kako je djipi napisao.
08.06.2016 | 10:15
Sjetio sam se da ima bug. "ps" komanda vrati i header ("PID %CPU") kojeg, kad dođe do njega, AppleScript pokuša konvertirati u brojke - i tu pukne. Previdio sam ga jer mi je u testovima tako sortao da bi uvijek došao do exit repeat prije nego li do te linije, ali može se dogoditi da prvo dođe do nje. Zato sam dodao try blok, što usputno rješava i potencijalni "sudo" problem, a optimizirao sam i drugi if.

repeat
  
  set check_interval to 5
  set cpu_limit to 300
  
  set ps_out to paragraphs of (do shell script "ps x -o pid,%cpu | sort -nrk 2")
  
  repeat with next_line in ps_out
    try
      set PID to first word of next_line as integer
      set CPU to second word of next_line as real
      if CPU > cpu_limit then do shell script "kill -9 " & PID
      if CPU < cpu_limit then exit repeat
    end try
  end repeat
  
  delay check_interval
  
end repeat
08.06.2016 | 11:16
Imam ti ja jedan Siemens Gigaset pa ako se hoces igrati, dam ti ga.
08.06.2016 | 16:56
Djipi kaže:
Upozoravam da ako se postavi na 100%, velika je vjerojatnoća da će skripta ugasiti samu sebe.




Svojevrsni "antifork".

Kad smo bili studenti, jako smo voljeli zajebavat sistemaša tako da mu provalimo password i onda rlogin s njegovim accountom pokrenemo "fork bomb" (komadić kôda koji samo u beskonačnoj petlji duplicira postojeći proces). A ovo je suprotno. Kôd koji sam sebe ubije. Were's fun in that?

a u praksi skriptu treba izignorirati jer je zla.


ROTFLMAO
08.06.2016 | 17:19
OMG WTF je ROTFLMAO
09.06.2016 | 08:01
Rolling On The Floor Laughing My Ass Off
Duh!
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 4 dana, 8 sati
  • Gjuroo: Ipak se kreće. aiPhone. [link]
  • dpasaric: Ja sam danas naručivao što se još može od lagera s QWERTY, pa ćemo vidjeti što ću dobiti! :)
  • zvone: Zvao istyle da interveniraju da ostavw qwerty posto ionako prave tipkovnice posebno za ht trziste. Krajnje su nezainteresirani. Ali kazu da se ljudi jako žale.
  • Bertone: Sused, ni to tema za vikalicu, trebao si to pitati u temi o budućnosti čovječanstva ;)
  • cariblanco: [link]
  • cariblanco: Vidi komentare ispod ovog teksta !!
  • cariblanco: Zadatak za smayoo...zašto je nestalo struje
  • dpasaric: Vidim da će stare QWERTY tipkovnice odjednom dobiti na cijeni! :)
  • zvone: Nervira me jer mijenjaju bez veze.
  • smayoo: Ali zašto je to takav stress? Ako su potpuno ukinuli stari layout, posložiš si kako ti paše pomoću Ukelele
  • smayoo: QWERTZ je uvijek i oduvijek hrvatski standard tipkovnice, a ovaj apple QWERTY hibrid je izmišljotina iz nekadašnjeg "zastupnika" PEL Velebit.
  • IgorD: Prvo su prebacili @ pa sad stalno stišćem ™ a od zadnjeg sistema ni € nije gdje je bio
  • IgorD: Ja na iOSu ionako uvijek imam EN tipkovnicu, samo kad mi treba đ prebacim na hr. Frka je što su i s Macovima krenule qwertz tipkovnice
  • zvone: Ako se vrati u postavkama automatski se vraca na qwertz. Iritantno do bola.
  • zvone: Kupio novu tipkovnicu za m4 ipad pro. Hrvatska je ali vise nije qwerty nego qwertz. Razocaran.
  • drlovric: Ja nemam dres Osijeka :)
  • VanjusOS: ako ćeš obući dres Osijeka, ja ti nabavim kartu bez problema
  • VanjusOS: drlovric, nema više karata za Hajduka
  • drlovric: Ako ima neko iz Osijeka molim da mi se privatno javi. Trebam uslugu. Hvala puno :)
  • JOHN: Počivao u miru Božjem :(
  • Borisone: U oglasniku mini Pro ako nekog zanima.
  • Gjuroo: Počivao u miru.
  • smayoo: Ode nam Papa Franjo, na Uskrsni ponedjeljak. Počinak je zaslužio, i više od toga. Neka se Crkvi primi barem nešto od njegovog nasljeđa.
  • VanjusOS: Sretan Uskrs!
  • Damirst: Srstan Uskrs!
  • smayoo: Sretan Uskrs svima! :)
  • Tomek: Sretan Uskrs !!
  • ping: Sretan Uskrs
  • dpasaric: Mira i ljubavi! :)
  • Gjuroo: Sretan Uskrs!
  • Yonkis: Sretan Uskrs svima!
  • Zdravac: Sretan Uskrs!
  • drpongrac23: Sretan Uskrs svima koji slave!
  • Tomek: sad dok se ja ponovo uštekam u MACOS sustav, imat ću pitanja pa ću biti malo dosadniji :D
  • Tomek: Hvala svima... Kakav je stroj, računam s njime barem 10 godina...
  • dpasaric: Welcome back! :)
  • smayoo: Eeeej, Tomek! :)
  • Zdravac: Tomek, dobrodošao nazad! Nek te dobro i dugo služi! :)
  • Tomek: Eto nakon dugo godina, ponovo na Macu... Pozdrav svima
  • Borisone: Rekao političar i otišao krkati s generalima dok je vojska na paštetama i prekuhanim jajima.
  • Junuz: ko nehrani svoju vojsku hraniće tuđu
  • Yonkis: Apple Maps kamera naprtnjača: [link]
  • m@xym: ...nikakvu vojnu naobrazbu.
  • m@xym: Za dva mjeseca možeš naučiti rukovati pješačkim naoružanjem (od rastavljanja, sastavljana i čišćenja, do toga kako ga otkočiti, zakočiti, napuniti, sve do pucanja). Čovjek koji nema nikakvu vojnu naobrazbu, je glineni golub u slučaju rata, osoba koja je dva mjeseca nešto učila, i naučila, svakako nije. Zamisli koliko bi tek žrtava bilo da nitko od ljudi sa kojima si bio nije imao
  • Maxxy: Mi imamo malu aktivnu podobnu vojsku. A za 2 mjeseca će samo naučiti biti lijepa meta na ratištu. Proveo sam u ratu malo manje od 5 godina, i sve što ću još reći na ovu temu je da smo imali više žrtava od neznanja (igranje sa raznim zanimljivim spravicama i puškama) nego od neprijatelja! Srećom u ono vrijeme nije bilo dronova!
  • drlovric: Ja sam bio 10-11 mjeseci cini mi se. Pola vremena smo aktivno nesto ucili, pola smo ribali hodnike, kupili lisce i smarali se po vojarni. Ja sam bio 11107 (prepisali JNA VES oznaku) vojna policija, antiterosticke aktivnosti.
  • drlovric: Nekakav ustroj sa 3 mjeseca temeljne obuke da vojnik zna koirsititi pusku i kretati se unutar svoje formacije je bolje nego nista. I mozda neki modus za dodatna 2-3 mjeseca specijalisticke obuke tko to zeli. Kao neki vid nadgradnje znanja.
  • m@xym: Mi to (malu sposobnu aktivnu vojsku) već imamo. Ovih 2 mjeseca je sasvim dovoljno da mladići nauče osnove baratanja oružjem.
  • Maxxy: Vojnirok od 2 mjeseca je sprdnja. Ili lupite godinu dana, ili financirajte malu sposobnu aktivnu vojsku. Ovako se samo bacaju novci bez ikakve koristi
  • Yonkis: A što ne otvorite temu nego ovdje tipkate :)

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

cariblanco, Ender, FiFi, jura22, Laki, rusty, Yonkis, Zoki, Anonimci (416)

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 1.29 Seconds

Provided by iJoomla SEO