[shell] Linux. Проверка запущен процесс или нет по pid-файлу.

irinkina

Вопрос, никто не помнит, какой командой проверяется запущен процесс и существует у него в /var/run pid или нет.
По типу pidon/pidof .
ls не предлагать .

Ivan8209

ps? lsof?
stat /dev/...?
---
...Я работаю антинаучным аферистом...

irinkina

Тогда уж проще ls-ом.
Но хочется, чтоб красиво было...

shlyumper

красиво:
source /etc/rc.d/init.d/functions
pidfileofproc blah
некрасиво, но правильно:


# A function to find the pid of a program. Looks *only* at the pidfile
pidfileofproc {
local base=${1##*/}
local pid
# Test syntax.
if [ "$#" = 0 ] ; then
echo $"Usage: pidfileofproc {program}"
return 1
fi
# First try "/var/run/*.pid" files
if [ -f /var/run/${base}.pid ] ; then
local line p pid=
read line < /var/run/${base}.pid
for p in $line ; do
[ -z "${p//[0-9]/}" -a -d /proc/$p ] && pid="$pid $p"
done
if [ -n "${pid:-}" ] ; then
echo $pid
return 0
fi
fi
}

irinkina

Thx !

sergey_m

> Вопрос, никто не помнит, какой командой проверяется запущен процесс и существует у него в /var/run pid или нет.
Команд такого высокого уровня не может быть в sh.
> По типу pidon/pidof .
А это что?
> ls не предлагать .
Конечно. Нужно [, тем более что в Linuxе оно встроено в шел.

irinkina

Посмотри ответ Лео.
Вот он дал нормальный ответ, а не разводил демагогию, тем более если ты не знаешь, про pidon/pidof.

sergey_m

Он дал тебе готовое решение, в котором используются соображения которые я высказал.
Ты так не ответил что такое pidon/pidof.

irinkina

Лео дал ответ, который полностью описывает путь решения проблемы.
Кратко и в тоже время полно. Это действительно признак мастерства.
>Ты так не ответил что такое pidon/pidof.
RTFS

sergey_m

Лео дал ответ, который полностью описывает путь решения проблемы.
Кратко и в тоже время полно. Это действительно признак мастерства.
В этом разделе очень много людей, которые просят готовое решение. Ты относишься к таким. Ты получил готовое решение и счастлив.
> >Ты так не ответил что такое pidon/pidof.
> RTFS
Не ответ.

irinkina

>> >Ты так не ответил что такое pidon/pidof.
>> RTFS
>Не ответ.
Ответ, причем именно в твоем стиле.

sergey_m

> > > >Ты так не ответил что такое pidon/pidof.
> > > RTFS
> >Не ответ.
> Ответ, причем именно в твоем стиле.
В данном контексте этот ответ абсолютно лишен смысла. Так отвечают, когда речь идёт о каком-то конкретном софте. Имеется в виду что ответ в исходниках софта.
В этом треде единственный софт, на который комментарий "RTFS" может ссылаться - shell в Linux. Так вот в исходниках bash нет ни слова 'pidon', ни слова 'pidof'.
Оставить комментарий
Имя или ник:
Комментарий: