The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Вызов system() в Perl"
Отправлено Amigo, 29-Дек-06 00:58 
Доброе время суток, Аll!

Ситуация следующая:
Есть скрипт запуска pptp, pptp-command, наверное его все знают!
В виду того, что у меня на маршрутизаторе 2 соединения pptp решил я его немного подредактировать, потому как для нескольких соединений он адаптирован частично.
Почему разработчики не предусмотрели что может быть не одно и не 2 а несколько Pptp соединений я незнаю.
Вообщем исходный код:
====== сut=======
это из самого начала файла!!!
#######                                                              
# Data                                                                
#                                                                    
# the regexp for the list of characters that are unsafe              
# to put inside a system() or ``                                      
# it is built by saying everything but known safe characters          
# anyone want to make bets on if this holds true for i18n'ed systems?
my $safe_set  = '-A-Za-z0-9\s\._\/:';                                
my $unsafe_re = "[^$safe_set]";                                      
my $safe_re   = "[$safe_set]*";                                      

sub stop() {                                              
        Rotate $resolv, $resolv_real, $resolv_pptp;        
        print "Sending HUP signal to PPTP processes...\n";
        `killall -HUP /usr/sbin/pptp`;                    

========сut ====== Это из оригинального файла
Хочеться чтобы было вот так:
sub stop() {                                                                    
        Rotate $resolv, $resolv_real, $resolv_pptp;                            
        open(RUN, "<$run_dir/ppp253.pid") or die "couldn't open $run_dir/ppp253.pid: $!";
                my @run = <RUN>;                                                
        close RUN;                                                              
        my ($pid) = @run;                                                      
#        if $pid !~ /^($safe_re)$/o {                                            
#        $pid = $1; };                                                          
#$pid =~ /$unsafe_re/o;                                                        
#print $pid;                                                                    
#my $pid = `kill -HUP | cat $run_dir/ppp253.pid`;                              
chomp $pid;                                                                    
system("kill", "-HUP", "$pid =~ /$unsafe_re/o");
==============
Вообще я хочу прочитать из файла pid процесса и грохнуть!
пробовал уже по всякому - в итоге получаю

Insecure dependency in system while running with -T switch at ./pptp-command253
line 842.                                                                      

В начало файла вставил
# $ENV{'PATH'} = '/bin:/usr/bin:/usr/local/bin';
непомогает!

Что нужно сделать подскажите - устал уже - в перле не силен!
Спасибо!


 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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