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 16 sati, 5 minuta
  • gladhr2: [link] ima li netko pametan da mi malo pomogne sa ovim problemom..?
  • dpasaric: Nema indoor mapa kod nas AFAIK.
  • Yonkis: Jeste li znali za bolji anti-reflective sloj na 17ici? [link]
  • Yonkis: Ima li u Rijeci ili igdje u HR ovo implemetirano? [link]
  • Yonkis: Novi AirTag: [link]
  • Yonkis: Bijah u Smart Doctoru, zamjenska je 100€ a originalna je 170€
  • smayoo: @Yonkis, pitao si kome vjerujemo :)
  • marioart: @Yonkis ovisno o aparatu koji imas, nije ti zgorega ni provjeriti cijene u sluzbenom servisu... ja sam u mediamarktu u njemackoj platio zamjenu za 13pro 88eura ... spojis ugodno sa korisnim i u Graz u shoping i servis
  • Yonkis: A ovi u Rijeci, Smart Doctor? Evo linka:[link]
  • Yonkis: Novi firmware ako nekome treba: [link]
  • Yonkis: Nevjerovatno da je cijena skočila na 150€ a znam da je prije 2 godine bila cca 70€. Prestrašno!
  • smayoo: @Yonkis - nažalost, u Rijeci više nikom. :( U Zagrebu je Davor više puta spomenuo da ima dobra iskustva s Agramservisom
  • VanjusOS: pa ti vratim
  • VanjusOS: ako imaš kabl kojeg trebaš isprobati možeš poslati meni da isprobam spojiti Mac pro
  • VanjusOS: i ja tražim već thunderbolt 2 kabel, iz Osijeka sam
  • zoranowsky: Jel ima netko u ZG za posuditi thunderbolt 2 kabel? Imam issue sa minijem M4 i thunderbolt 27 displayem pa trebam testirati neke kombinacije...
  • Yonkis: Kome vi u Rijeci vjerujete za zamjenu baterije na iPhonu jer u iStyleu je 150 € i čeka se par tjedana
  • Yonkis: :(
  • smayoo: [link]
  • smayoo: RIP Scott Adams :(
  • Gjuroo: Za sad to može zvučati i kao Affinity priča. Not great but not that bad.
  • Soffoklo: Za to vrijeme Apple se lagano pretvara u Adobe - [link]
  • drlovric: Sve je bolje od ove blamaze sa Apple AI i cekanja pametnije Siri koja nikako da dodje :)
  • IkoIko: Apple i Google sklopili ugovor o korištenju Gemini AI... Zanimljiv razvoj situacije
  • ZeljkoB: Spigen - [link]
  • Riba: Moza zato da mozes koristiti BT tipkovnicu i mouse i dok je zaklopljen?
  • user: glupo: zatvorim laptop, BT i dalje upaljen, što ne bi trebalo ovo **** se ugasit kad ga poklopim
  • rusty: date hack je samo na par sekundi. vratiš datum, startaš app čisto da se digne i vratiš datum opet. To je to. Čisto da loada profile i postavke
  • smayoo: Date hack nisam htio raditi jer potrga druge stvari. Krenuo sam instalirati staru verziju LogiOptions preko homebrewa, ali riješili su problem prije nego sam dospio to napraviti
  • rusty: Osobno mislim da je 12h predugo za cert problem I nisam mogao doć na sebe kakav su problem napravili. Ono što je još gore, ovo im nije prvi put za taj isti slučaj. Dakle kako ne naučiš nešto iz ovoga. Dodano, date hack rješava problem da se ne mora drugi put čekati 12h
  • Bertone: A jučer nisam koristio MBP nego T14s pa nisam iskusio veselje sa certifikatima :D
  • Bertone: Imam MXMastera već godinama [link] i jedina dobra stavr kod njega je što ga mogu koristiti sa MBP, Tnink Padom i desktop računalom bez pretjeranog petljanja, no da je (pre)skup za ono što nudi, je.
  • smayoo: I, na kraju, ako za neki komad hardvera koji sam u životu kupio mogu reći da NIJE preskupo plaćen, to je sigurno Logitech MX Master 3. Jučer ujutro jesam bio spreman popi... na njih, ali činjenica je da su problem riješili unutar cca 12h otkad se pojavio.
  • smayoo: Osim toga, hardver radi s bazičnim postavkama, ali svi tweakovi i custom podešenja - ne.
  • smayoo: Radi se o softveru koji mora dobiti dozvolu korisnika da zakopa dosta duboko pod haubu radi komunikacije s periferijom.
  • smayoo: Ne mora biti spojeno na internet. Sigurnosni certifikat aplikacije je bio istekao i Apple ga je blokirao, a Logitech nije pazio na datum isteka certifikata i nije izdao update s novim certifikatom na vrijeme
  • Bertone: Ček malo, preskupo plaćeni hardver ne dela na Apple računalu ako računalo nije spojeno na internet (na stranu sad istekli certifikat) ili sam propustio nešto
  • smayoo: Da, jučer sam imao natezanje oko toga. Ali moram im priznati da su brzo riješili.
  • Yonkis: [link]
  • smayoo: @mrobert, forum, tema "eOI - opet diskriminacija"
  • stefanjos: SRETNA NOVA!
  • drlovric: [link]
  • signout: Sretna Nova!
  • zoranowsky: Sretna Nova!
  • dpasaric: Sretno nam svima! :)
  • Borisone: Sretna vam 2026-ta godina!
  • Gjuroo: Sretna i berićetna 2026.!
  • smayoo: SRETNAAAAAAAA!!! :D
  • Borostef: Sretna Nova godina!!! :)
  • Air: Sretna i uspješna nova!

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.61 Seconds

Provided by iJoomla SEO