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

 

начало

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

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

семинари ...

документи

как да ...

 

 

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

Re: lug-bg: ps ax|grep sth


  • Subject: Re: lug-bg: ps ax|grep sth
  • From: Skeleta <g_georgiev.sz@xxxxxx>
  • Date: Mon, 13 Jun 2005 14:04:38 +0300
  • Delivered-to: lug-bg-list@xxxxxxxxxxxxxxxxxx
  • Delivered-to: lug-bg@xxxxxxxxxxxxxxxxxx

George Danchev wrote:
On Monday 13 June 2005 11:31, Vesselin Markov wrote:
  
Всъщност, май не зависи от времето за изпълнение нито на ps, нито на grep.
Иначе, при всяко положение grep се изпълнява по-бъзо от ps, но за да тръгне
той, ps трябва да е приключил вече.
    
Това е не вярно. При process1 | process2 ядрото стартира двата процеса 
едновременно (осигурявайки им file descriptors, etc). Проблема е, че не се 
знае кой ще разруши тръбата първи, например process2 приключва преди process1 
(прекратявайки съществуването на тръбата) тогава ядрото праща сигнал SIGPIPE 
( EPIPE ) [1] на process1 който го хваща и ако не е лейм exit()-ва 
подобаващо, ако . Пример [2]. Работите за доста сложни и понякога зависи дали 
се пише атомично в тръбата или не, колко е атомично за дадена ОС и т.н. 
повече на [3].
  
В обсъждания случай "ps | grep" и двата процеса се стартират едновременно, а пръв ще приключи ps, понеже grep ще чака затваряне на входния си файл. На практика за друг наблюдаващ процес и двата ще завършат едновременно. Поне на мен така ми се струва - самото приключване на ps при добре направено ядро трябва да прехвърли управлението директно на grep, което пък да си филтрира получения текст и също да приключи работа.

    Скелета


 

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

 

линукс за българи
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.