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 8 sati, 36 minuta
  • hal9000: Danas čujem ekipu kako priča o nekim virus killer-ima. Može mi netko objasniti što je to? :D
  • imjasminh: Prodano kolegi s foruma.
  • imjasminh: 750 eur - [link]
  • Yonkis: Moram priznati da je ovo dobro odrađena aplikacija: [link]
  • imjasminh: Pozdrav svima! Prodajem Apple Watch Ultra 3, 49mm Black Titanium, račun garancija. Nije ni 2 mjeseca star, bacite pogled na oglase: [link]
  • dpasaric: I previše su ih prodali s obzirom na sve... oko 600.000
  • user: pa se nije dobro prodavao
  • user: Apple Vision je očito preskup bio
  • Riba: Bas glupost od hardvera.
  • Yonkis: Ok, i nije to neuspjeh, nešto su naučili iz toga, nadam se.
  • Riba: RIP Apple Vision. - [link]
  • drlovric: Lijepo [link]
  • dpasaric: Kao jako su zabirnuti za tvoju privatnost, a istovremeno s druge strane čini sve da je potkopaju...
  • Yonkis: Ova opcija neće nikada biti dostupna u EU ili...? [link]
  • Yonkis: The iOS 26.4.2, iPadOS 26.4.2, iOS 18.7.8, and iPadOS 18.7.8 updates that Apple released today address a security vulnerability that the FBI recently used to extract Signal message previews from an iPhone even after the app was deleted.
  • drlovric: Ja sam zadnji put cuo nikada da mi neko kaze, jao jest mi spor SSD na Mac :) To samo forsiraju ovi YT recenzenti. Nama normalnim smrtnicima totalno nebitna stavka na modernim M Macovima...
  • Yonkis: Zato jer mac diktira koliko će brzo SSD raditi. Ako radi max onda ce se i trošiti max. Ovako radi laganica pa traje dulje. Ovo pričam iz guzice. Možda ima smisla.
  • ZoPaj: mjerim s blackmagic disk speed test: mac studio m4 1tb disk 6380 mb/s read, 5200 write vanjski tb5 samsung 9100pro 4tb u acasis 80gps 6430 mb/s read, 6000 write znači vanjski brži od ugrađenog mac ssd
  • jura22: Uz TB5 i dobro kućište dobiju se velike brzine prijenosa podataka, ne kao interni SSD (otprilike duplo manje).
  • jura22: RAM se ne da "odlemiti" jer je sastavni dio SoC-a.
  • Ender: @cavarovobrdo: ... ili barem SSD.
  • cavarovobrdo: Nadam se da će novi CEO odlemiti RAM ;)
  • cavarovobrdo: Muštuluk: John Ternus to become Apple CEO
  • imenso: John Ternus novi CEO
  • CoffeePod: @yonkis jos me macOS 26 nije vidio a tko zna hoce li 27. Sequioa mi je toliko dobra da nemam razloga updejtati, a cijela prica sa Liquid Glass mi je odvratna.
  • Yonkis: The upcoming macOS 27 release will be compatible with Apple silicon Macs only.
  • dpasaric: Možeš uz search naći svaki
  • dpasaric: Pa zadnji intervju je na naslovnici, a ostali raspršeni tijekom godina
  • Ender: @dpasaric: a gde su ti razgovori? mislim gde se mogu naci?
  • Performita: Omogućuje lako postavljanje novih uređaja, sigurnost podataka i poslovni email bez velikog IT odjela. Cilj je da tvrtke rade jednostavnije i sigurnije na Apple uređajima.
  • drlovric: U cemu je fora sa ti Business? Imamo li mi mali smrtnici neku korist od toga ili je to samo za velike tvrtke?
  • Performita: Kalimera, Dobro jutro... ovo za Apple Business rolls zvuči kao izvrsna vijest!!!
  • Borisone: Apple Business rolls out to 200 countries today - brace for impact - even Croatia!
  • Yonkis: iOS 26.4.1 and iPadOS 26.4.1 This update has no published CVE entries.
  • stefanjos: Treba mi as u rukavu kada me netko pita gdje da ide haha :D
  • smayoo: Ima ih nekoliko koji se oglašavaju kao iPhone serviseri, nijedan mi nije baš ulio povjerenje, ali nemam neposrednih loših iskustava.
  • stefanjos: gdje nositi iphone na popravak u rijeci kada nema jm elektronike?
  • Yonkis: @smayoo Nema na čemu, evo ja upisah.
  • smayoo: @Yonkis, evo, otključano, hvala na upozorenju!
  • dpasaric: Booo?
  • Yonkis: “ Lažu li nas :) ...nastavak sa vikalice.” - tema zaključana a zadnji post završava sa pitanjem?
  • smayoo: Sretan Uskrs!
  • Yonkis: Sretan Uskrs braćo! I sestre!
  • zoranowsky: Sretan Uskrs!
  • Gjuroo: Sretan Uskrs!
  • Miro Spiro: sretan Uskrs
  • user: da bar je propao kao što su Microsoft i ostali predviđali, hvala što si pokrenuo najgori trend u techu Steve.
  • Yonkis: [link] Who’s in Apple’s top 10? Here’s the full list of the most influential people of all time
  • Yonkis: [link] netko fino složio povijest svih modela iPhonea, jako lijepo.
  • Yonkis: Apple employee #8 Chris Espinosa on working his whole life at one company: [link]

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.59 Seconds

Provided by iJoomla SEO