LINUX.ORG.RU

perl и процессы


0

0

Как на perl, зная номер процесса, отпределить есть ли он в системе, т.е. работает и еще не завершлся?
Спасибо!!!

anonymous

Re: perl и процессы

> Как на perl, зная номер процесса, отпределить есть ли он в системе, т.е. работает и еще не завершлся?

Точно так же, как и на других языках - послать процессу сигнал с
номером 0 и посмотреть на код возврата. Подробности смотри в
man 2 kill ну или для Perl в perldoc -f kill

BTW успешный тест не гарантирует, что это "тот самый процесс" -
теоретически это может быть уже другой процесс, повторно использующий
тот же самый PID.

HTH

Onanim ()
Ответ на: Re: perl и процессы от Mrak

Re: perl и процессы

> perl -e '$pid=1234; $a=`ps -A|grep $pid`; print "Running\n\n" if(length($a)!=0);'

Никада так не делайте! К плохому привыкнете, трудно будет потом. Вообще, на время работы программы, ей бы неплохо держать какой-то файл залоченным, тогда для проверки того, что программа запущена надо проверить наличие залочки на файле (только не надо для этого из программы на perl запускать fuser!). Про kill уже рассказали.

Casus ★★★★★ ()
Ответ на: Re: perl и процессы от Onanim

Re: perl и процессы

> BTW успешный тест не гарантирует, что это "тот самый процесс"...


Легко проверить...
$ perl -le 'print readlink "/proc/$$/exe"'
/usr/bin/perl

Casus ★★★★★ ()
Ответ на: Re: perl и процессы от Casus

Re: perl и процессы

> К плохому привыкнете, трудно будет потом.

Не пойму почему это

1. Плохо

2. Потом это когда? Когда негрософт купит linux? Такого не будет уверяю Вас ;)

ЗЫ: К сожалению есть проги которые не создают файл на время своей работы :(

Mrak ★★★ ()
Ответ на: Re: perl и процессы от Mrak

Re: perl и процессы

1. Использование внешнего grep, при наличии встроенного у perl. Вызов ps при наличии номера процесса.

2. На этом пути есть рэйсы, поверьте мне, хотя заметны они только когда процессов становится заметное количество, работа ps может стать не очень адекватной. ps -- инструмент администрирования, а не утилита для программиста, использование его не по назначению ведёт к полю с граблями.

3. Речь, как я понимаю, идёт не об абстрактной "проге", а о каком-то демоне, стандартном или самописном. Стандартные демоны "грешат" залоченными файлами, самописного научить не долго.

Casus ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.