The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Perl, `` и вложенные скрипты."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"Perl, `` и вложенные скрипты."  +/
Сообщение от madar (ok) on 16-Дек-11, 19:41 
Есть перловый скрипт (в примере ниже - 12.pl) который через `` (обратные кавычки) запускает скрипт на шелле (1.sh), который, в свою очередь, в бэкграунде (&) запускает еще один шелловый скрипт (2.sh):

-- 12.pl
#!/usr/bin/perl
my $gg = `/dir/1.sh`;

======================

-- 1.sh :
#!/bin/sh

/dir/2.sh &
exit 0

======================

-- 2.sh :
#!/bin/sh

sleep 5
exit 0

======================

В результате, выполнение в перле `/dir/1.sh` занимает 5 секунд - т.е. он ждет завершения 2.sh несмотря на то, что 1.sh уже закончился.


Можно ли сделать так, чтобы `/dir/1.sh` завершился на момент выхода (exit 0) из 1.sh? (т.е. не ждать 2.sh)

ps. $ perl -v

This is perl, v5.8.8 built for x86_64-linux-thread-multi

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Perl, `` и вложенные скрипты."  +/
Сообщение от XAnder (ok) on 16-Дек-11, 20:42 
Попробуйте использовать system вместо ``. Там, правда, труднее перехватить вывод скриптов, но они у вас, похоже, ничего и не выводят.

Как вариант, в перловой программе можно сделать fork, и пусть ждёт дочерний процесс.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Perl, `` и вложенные скрипты."  +/
Сообщение от madar (ok) on 17-Дек-11, 15:17 
> Попробуйте использовать system вместо ``. Там, правда, труднее перехватить вывод скриптов,
> но они у вас, похоже, ничего и не выводят.

Это да, с system работает. Непонятно только - почему такая разница?

> Как вариант, в перловой программе можно сделать fork, и пусть ждёт дочерний
> процесс.

ОК, попробую еще fork..

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру