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 42 minuta
  • rak21: Je li netko ulovioacbook pro M5 pro za 2200 u instaru? Baš me zanima jel prošla narudžba ili su stornirali jjer su bili jeftiniji 500€ i više od drugih.
  • smayoo: Ja sam nedavno imao tako raspadnut prikaz oglasa u Firefoxu, ispalo je da je problem bio u Ghosteryju
  • CoffeePod: Probao sam Tahoe na M4 MBP i M2 Airu i ono je sramotno na sto lici i kako performa
  • CoffeePod: Ima netko da i dalje odbija preci na Tahoe i iOS26?
  • drlovric: Na iPadu u Sagari oglasnik se raspao. Tekst se preklapa i necitljiv je ispod fotografije artikla.
  • zoranowsky: Kod mene na firefoxu i safariju sve ok s oglasima
  • Yonkis: [link]
  • Yonkis: Jedino na Braveu izgledaju normalno. Firefox, Edge, Safari ne.
  • smayoo: Što se desilo? Meni izgledaju normalno.
  • Yonkis: Što se desilo sa Oglasima? Npr.[link]
  • superstric: obavljeno
  • Yonkis: Obavio svoje
  • dpasaric: Imenso, obavljeno! :)
  • Djuro genijalac: rješeno. Bilo bi lakše da si objavio i točne odgovore, but here we are ;-)
  • imenso: Hvala!
  • Sarek: Riješeno i podijeljeno dalje
  • zoranowsky: Ispunjena anketa
  • smayoo: ispunjena
  • imenso: Svaki glas je važan i hvala unaprijed svakome na rješavanju i(ili) dijeljenju linka. To mi je za sina, za diplomski
  • Yonkis: Nema nas 200 ovdje, samo 300!!!
  • imenso: Ekipa, molio bih ako imate pet minuta vremena da riješite anketu, ne treba više od 5 minuta, moraju skupiti barem 200 odgovora: [link]
  • Djuro genijalac: Meni najbolje: Sori kume, samo Hajduk živi vječno!
  • Ender: chuck norris je pobedio zivot :)
  • smayoo: Rak je prebolio Chucka Norrisa... :)
  • Yonkis: [link] P.U.M Carlos Ray Norris
  • zoranowsky: R.I.P. Chuck Norris
  • Yonkis: generative AI apps paid Apple close to $900 million in App Store fees last year - [link]
  • cariblanco: [link]
  • drlovric: Team MacBook Pro M. Deremo. Ovo je jedna od rijetkih situacija gdje sam ja u vecini :)
  • dpasaric: Anketa je ažurirana novim modelom, znači i dalje ima smisla, govori nam što tko koristi ovdje.
  • Yonkis: p.s. kad će neka nova anketa? :)
  • Yonkis: Može netko Tim Apple pitati što je sa ovim AirDropom, jesu magneti u pitanju ili atmosferski pritisak u pitanju da radi kako je oglašavano?
  • dpasaric: Juhu za Poguea! :)
  • Yonkis: Ajde napokon da se tu nešto slatko pojede, neka bude i kalorijska bomba, preživjeti ćemo :)
  • Performita: Javio mi se David Pogue, pripremam poslasticu za Jabučnjak ????????
  • Yonkis: Ovo nije mjesec ovo je jutro [link]
  • Air: Ha ha, evo radi sa iPhonea - pitam se kad će već ova čuda implementirati u ozbiljnije fotoaparate?
  • Air: [link]
  • Air: probao sam samo C/P, probao sam C/P foru kojom ubacujem link u post, ali nefunkcionira kod mene
  • Riba: Probaj preko nekog url shortenera.
  • Riba: Samo ga upises ali mislim da ju neki znakovi zbune.
  • Air: Kako u vikalicu ubaciti link?
  • smayoo: @Yonkis - meni je to sve poisključivano, uvijek i oduvijek. Jedino imam uključeno da stavlja točku kad lupim dva razmaka i da automatski stavlja veliko slovo iza točke.
  • rusty: First 50 knjiga shipped!
  • Yonkis: Da li i vama iOS tipkovnica krivo ispravlja riječi a zanimljiv mi je ovaj primjer [link]
  • ZoPaj: iPhone Book i iPhone Book Neo
  • Yonkis: Preklopni iPhone, bit će kad tad, samo kako će se zvati? [link]
  • Yonkis: Apple prvih 50 godina [link]
  • Bertone: MA pusti ga, cendra bez veze, da mu je bilo bitno probudio bi se u pet :D
  • Djuro genijalac: A jbg, sori

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.57 Seconds

Provided by iJoomla SEO