Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: Задачка Закачка: Bash


  • Subject: Re: lug-bg: Задачка Закачка: Bash
  • From: Vasil Kolev <vasil@xxxxxxxxxx>
  • Date: Tue, 30 Nov 2004 12:22:13 +0200
  • Organization: Ludost Networks

On вт, 2004-11-30 at 12:06 +0200, Aleksandar Valchev wrote:
> Да, exec-а преебава простотията. Вместо exec сложих system(). Със system() май 
> върви по-добре, накара ме да си рестартирам PC-то (като се има на предвид, че 
> няма никакви limits). Мисля си, че е по-добре да се ловят сигналите SIGKILL, 
> SIGSTOP (да не може да се спре изпулнението, чрез kill), но чрез системното 
> извикване signal(), не става. В ман page на signal() пише, че може да 
> игнорираш или да хванеш всички сигнал изключение на SIGKILL и SIGSTOP, като 
> същото се отнася и за sigaction (евала на Linux :) ). 
> 

Абе има си fork(), защо преоткриваш колелото...

> Не мисля, че трябва нещо да пишеш в buffer-a за да зеeма памет. Би трябвало 
> malloc() да заделя памет и тя си остава заделена, без значение дали си 
> записал нещо в нея или не :). Якото е, че не се освобождава :).
> 
Хм, май трябва да видиш как работи ядрото. По принцип памет се заделя
само логически, физически замаш страница в паметта чак като започнеш да
пишеш в нея. Пробвай,пусни нещо да malloc-ва, и гледай резултата с top. 

Ето така изглежда една класическа fork() бомба:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
	char *fillbuff;

	while (42)
	{
		fork();
		fillbuff=malloc(4096);
		*fillbuff='A';
	}
	return 0;/* never reached */
}

Вместо malloc може да се заделя shared memory, което е още по-страшно,
понеже тя се освобождава доста по-трудно, и не мога да се сетя дали
можеше и да се лимитира.

Attachment: signature.asc
Description: This is a digitally signed message part



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.