Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 12:05 12.06.24 
Компютри и Интернет
   >> Perl
Всички теми Следваща тема *Кратък преглед

Тема скрипт стартира друг скриптнови  
Авторjust_one (Нерегистриран)
Публикувано24.09.04 11:51



Здравейте. Имам следният проблем: имам 2 скрипта, единият от които трябва да стартира 2-я, но в същото време да си продължи работата, независимо от 2-я. Ако някой има идея нека я сподели.
Благодаря.



Тема Re: скрипт стартира друг скриптнови [re: just_one]  
Автор sdg (shebang addict)
Публикувано24.09.04 12:11



perldoc -f fork
perldoc -f exec

Или, вкратце, фрагмент от първия скрипт:
my $pid = fork();
if (0 == $pid) # child
{
exec("script2.pl","arg0","arg1") or die "Could not exec script2: $!";
}
# child ends, script2 executed
unless(defined($pid)) { print STDERR "Could not fork: $!"; }


RTFM!
--sdg


Тема Re: скрипт стартира друг скриптнови [re: sdg]  
Авторjust_one (Нерегистриран)
Публикувано24.09.04 12:25



Необходимо е 1-ят скрипт да продължи да работи без да изчаква 2-я да свърши.



Тема Re: скрипт стартира друг скриптнови [re: just_one]  
Автор novobranec (може би?)
Публикувано24.09.04 19:53



system() ?



Тема Re: скрипт стартира друг скриптнови [re: just_one]  
Автор sdg (shebang addict)
Публикувано24.09.04 20:29



Къде в примера някой чака някого?


RTFM!
--sdg


Тема Re: скрипт стартира друг скриптнови [re: sdg]  
Авторjust_one (Нерегистриран)
Публикувано26.09.04 18:25



Е как къде? И system и exec очакват някакъв резултат, но 2-я скрипт може да се забави, а това не трябва да влияе на изпълнението на 1-ят.



Тема Re: скрипт стартира друг скриптнови [re: just_one]  
Автор vfork ()
Публикувано26.09.04 23:17



Moze bi imash predvid (sdg e napisal (makar i sus syntax err, i grozno)) "otdelqne" na child ot parent process:
###start
use POSIX;
$|++; #for the test
$pid = fork;
die "can't fork: $!" unless defined$pid;
if($pid == 0){
POSIX::setsid or die "can't start a new session: $!";
exec("second_script"); #we do not want a return value
}
#here goes the rest of the first_script
print ++$c, "\n" and sleep 1 for 1..3;
###end
makar che tova bi moglo da vurvi samo ako ne minesh prez:
$^O =~ /win32/ #t.e. pomiqta



Тема Re: скрипт стартира друг скриптнови [re: vfork]  
Автор sdg (shebang addict)
Публикувано27.09.04 11:52



Е, чак пък грозно

Ако трябва да бъдем съвсем прецизни, някъде преди fork() е добре да има и $SIG{'CHLD'} = 'IGNORE'. Важното беше да се прочете документацията, но явно не се е случило...


RTFM!
--sdg


Тема Drug wariantнови [re: just_one]  
Авторkrumch (Нерегистриран)
Публикувано27.09.04 13:58



script1.pl

# Redowe predi
...
system("script2.pl param1 param2 param3 &");
# Redowe sled
...

W tazi situacia script2.pl triabwa da e izpalnim fail po wsitchki prawila na OS-a. Puskal sam po 50 instancii na script2 ot rabotesht script1 - sprawia se bez problem. Ne si spomniam da sam go testwal na WIN*, no sigurno shte warvi...



Тема Re: скрипт стартира друг скрипт [re: sdg]  
Автор vfork ()
Публикувано27.09.04 15:08



E da no ako se cheteshe dokumentaciqta nqmashe da ima koi kakvo da pita




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.