prezentuje wam bardzo prostego "wirusa" mojego autorstwa oczywiscie w celach edukacyjnych. Jesli ktos zastanawial sie jak tego typu rzeczy dzialaja to na tym prostym kodzie mozna sie wiele nauczyc.
Nasz skrypt, tworzy nowe watki, wykonujace funkcje f, ktorej zadaniem jest wykonywanie operacji arytmetycznych (obciazajacych procesor) i operacji przypisania (obciazajacych pamiec). W ten sposob po krótkiej chwili program w 100% obciaza zarówno procesor jak i pamięć, co skutkuje jego zawieszeniem.
UWAGA: Na starszych systemach może dojść do uszkodzenia (spalenia) procesora lub uszkodzenia pamięci, NIE PONOSZE ODPOWIEDZIALNOŚCI za takie straty. Skrypt prezentuje tylko i wyłącznie w celach edukacyjnych!
Kiedyś popularne były tego typu robaki, ktore dodatkowo jeszcze replikowaly sie w systemie i dodawaly do autostartu, pozbycie sie czegos takiego bywa bardzo bolesne. Obrona moze byc zastrzezenie pewnej ilosci pamieci w systemie jak i uzycie pewnego rodzaju alarmu -> wylaczajacego proces gdy zabiera zbyt duza ilosc pamieci/procesora.
Oto kod:
Kod: Zaznacz cały
from multiprocessing import Pool
def f(x):
t = []
while True:
t.append(x * x)
#ile rdzeni chcemy wykorzystac (mozna podac dowolnie duza liczbe, i tak obciazenie nie przekroczy 100%
rdzeni = 15
if __name__ == '__main__':
p = Pool(rdzeni)
p.map(f, range(rdzeni))