Доброе время суток, А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';
непомогает!
Что нужно сделать подскажите - устал уже - в перле не силен!
Спасибо!