Portál AbcLinuxu, 5. května 2025 15:04

Dotaz: Kill všechno co běží déle jak 30 vteřin

2.3.2013 09:16 Linux noob
Kill všechno co běží déle jak 30 vteřin
Přečteno: 993×
Odpovědět | Admin
Dobrý den všem, zjistitl jsem, že někdo úmyslně vytěžuje webcompiler. Nějaké dva zacyklené scripty mi 81 hodin vytěžovaly CPU na 100%, přičemž kompilace a velkého scriptu by měla být hotova do 10 vteřin.

Nemáte prosím nějaký nápad, jak se tomuhle vyvarovat, například nějakou blokací od iptables, že zabije všechny procesy kompilací od webcompileru, které budou trvat více než 30 vteřin?

Za jakékoliv nápady, návrhy a rady budu moc rád, díky předem. Pěkný den všem.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.3.2013 09:41 potato
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přes iptables? Nestačí mu prostě nastavit RLIMIT_CPU pomocí ulimit? Nevím, kde a jak se vytvářejí ty procesy webcompileru, ale někam to snad strčit jde.
2.3.2013 16:59 Linux noob
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Dobrý den, mockrát děkuji za odezvu. Akorát jsem v práci s linuxem amatér. :( I přes hledání na google nějak nevím, jak to použít. Našel jsem i nějaký script, ale opravdu nevím, neměl by jste spíše rovnou nějaký návod, jak se to používá ?
2.3.2013 10:41 Radovan Garabik
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podobné som riešil, kombináciou:

v pythonovskom cgi skripte resource.setrlimit(resource.RLIMIT_CPU, (600, 600))

a v inetd aplikácii použitím wrappera v tvare: /usr/bin/timeout -9 86460 /usr/bin/timeout -15 86400 /skutočný/program $*

k aplikácii sa dalo pristupovať aj cez web rozhranie, aj špecializovaným klientom - preto tá dualita.
2.3.2013 17:01 Linux noob
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Dobrý den, mockrát děkuji za odezvu. Akorát jsem v práci s linuxem amatér. :( I přes hledání na google nějak nevím, jak to použít. Našel jsem i nějaký script, ale opravdu nevím, neměl by jste spíše rovnou nějaký návod, jak se to používá ?

Bloumám v shellu, natož pythlon :( nejde to nastavit, aby například systém vypínal automaticky všechny procesy, které poběžím déme než 30 vteřin, které vyvolá například var/www/kompiler.php ?
3.3.2013 07:33 -nd-
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
nevim co presne provadite, ale jestli to je v php, nezabralo by: http://php.net/manual/en/function.set-time-limit.php ?
3.3.2013 09:41 Linux noob
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Aha, špatně jsem se vyjádřil. Nejsem ani PHP programátor. Umím v PHP jenom pár věcí. Navíc bych řekl, že to taky nepůjde, protože jak přemýšlím, tak ten php soubor podává script ke kompilaci kompilatoru.so, takhle by jsme si tím nic vlastně nepomohli. Každopádně děkuji mockrát za radu, myslel jste to dobře. ;)
3.3.2013 12:54 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Bloumám v shellu, natož pythlon :( nejde to nastavit, aby například systém vypínal automaticky všechny procesy, které poběžím déme než 30 vteřin, které vyvolá například var/www/kompiler.php ?
To jak jste si to představoval nejde, tedy že napíšete nějaký příkaz a systém vše sám zařídí. Nicméně to, co systém umí, je odstartovat jeden konkrétní příkaz s časovým limitem (RLIMIT_CPU). A na vás je abyste upravil váš skript, aby běžel s limitem.
2.3.2013 11:15 mefo
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Odpovědět | | Sbalit | Link | Blokovat | Admin
chudak Zatopek
2.3.2013 17:04 Linux noob
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Asi mýrně narušený člověk prosím moderátora, aby očistil tento příspěvek od narušených lidí.
2.3.2013 17:35 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
A my zase zadame nenarusene diskutery se smyslem pro humor a gramatiku!
2.3.2013 17:50 jadd | skóre: 34 | blog: Greenhorn
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
i mě to pobavilo, to mýrně už naopak.
3.3.2013 00:14 Linux noob
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
No jo, vy toho naděláte kvůli jednomu y.

Jak se říká: "I mistr tesař se občas utne" :D
tsLnox avatar 3.3.2013 19:27 tsLnox | skóre: 31 | blog: Blog jednoho ukecaného Gentoolemana | Žďár nad Sázavou
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Y mystr tesař ze opčas utne?
4.3.2013 16:03 Linux noob
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Spamuj si svůj blogísek a dej pokoj, nebo piš k věci.
tsLnox avatar 6.3.2013 16:25 tsLnox | skóre: 31 | blog: Blog jednoho ukecaného Gentoolemana | Žďár nad Sázavou
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
egg avatar 4.3.2013 16:27 egg | skóre: 20 | Praha
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
A my zase zadame nenarusene diskutery se smyslem pro humor a gramatiku!
"Mýrně" není chyba gramatiky ale pravopisu. (Vysvětlení pro programátory: Lexikální analýza kontroluje pravopis, syntaktická analýza kontroluje gramatiku.)
pavlix avatar 4.3.2013 16:48 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Vysvětlení pro programátory: Lexikální analýza kontroluje pravopis, syntaktická analýza kontroluje gramatiku.
Odpověď od programátorů: Dnes se často tyto dvě věci slévají a syntaktický strom se vytváří rovnou ze zdrojového textu. Jejich rozlišování je tak spíše implementační detail.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
3.3.2013 10:35 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Odpovědět | | Sbalit | Link | Blokovat | Admin
Čo je webcompiler?
3.3.2013 15:30 Linux noob
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
To je nedůležité, je to zkrátka aplikace která kompiluje skripty do souborů. Tady se jedná úplně o něco jiného. Jde o to, že se tam dva procesy kompilace nějak zasekly nebo co a 81hodin 100% CPU :D
3.3.2013 21:37 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Dôležité to je. Riešenie je iné ak ide o cgi skript, iné ak je to PHP, iné ak je to čojaviemčo.

Ak je to tvoj program ku ktorému máš zdrojáky, tak ich uprav tak aby sa spustil nejaký watchdog thread, ktorý po uplynutí časového intervalu program exitne.

Aha. To asi nepôjde, pretože si v práci s linuxom amatér. No to máš tak. Samo od seba sa nič nevyrieši. Buď sa niečo (dosť) okolo toho naučíš, alebo si nájdeš niekoho, kto to spraví za teba (to ale nebude výmena niekoľkých otázok a odpovedí na fóre), alebo sa pustíš do niečoho, v čom sa vyznáš a toto pustíš k vode.
3.3.2013 22:01 potato
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Nebyl bych až tak krutý, ale ano, pokud jde o poměrně low-level věci, jako nastavování limitů pro nějaké procesy, tak je nutné rozumět, jak jsou ty věci uspořádány a čemu přesně a jak je vlasntě možné/nutné ty limity nastavit, aby se to skutečně chovalo, jak očekávám.
3.3.2013 22:27 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
No když si člověk zagoogluje webcompiler tak na prvních 100 odkazech dostane hlavně odkazy na kompilátor skriptů do nějaké(kých) hry. Takže očekávám, že tazatel má binárku, o které nic neví, lehce obalenou PHP. A to co mu na webové rozhraní pošlou šoupne do binárky bez nějakých kontrol a děj se vůle boží.
4.3.2013 20:16 nyan
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je k neuvereni, co vsechno clovek najde v coreutils :-)
9.3.2013 14:00 Linux noob
Rozbalit Rozbalit vše Re: Kill všechno co běží déle jak 30 vteřin
Skvělé díky moc! ;)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.