[shell] Linux. Проверка запущен процесс или нет по pid-файлу.
stat /dev/...?
---
...Я работаю антинаучным аферистом...
Но хочется, чтоб красиво было...
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
}
Thx !
Команд такого высокого уровня не может быть в sh.
> По типу pidon/pidof .
А это что?
> ls не предлагать .
Конечно. Нужно [, тем более что в Linuxе оно встроено в шел.
Вот он дал нормальный ответ, а не разводил демагогию, тем более если ты не знаешь, про pidon/pidof.
Ты так не ответил что такое pidon/pidof.
Кратко и в тоже время полно. Это действительно признак мастерства.
>Ты так не ответил что такое pidon/pidof.
RTFS
Лео дал ответ, который полностью описывает путь решения проблемы.В этом разделе очень много людей, которые просят готовое решение. Ты относишься к таким. Ты получил готовое решение и счастлив.
Кратко и в тоже время полно. Это действительно признак мастерства.
> >Ты так не ответил что такое pidon/pidof.
> RTFS
Не ответ.
>> RTFS
>Не ответ.
Ответ, причем именно в твоем стиле.
> > > RTFS
> >Не ответ.
> Ответ, причем именно в твоем стиле.
В данном контексте этот ответ абсолютно лишен смысла. Так отвечают, когда речь идёт о каком-то конкретном софте. Имеется в виду что ответ в исходниках софта.
В этом треде единственный софт, на который комментарий "RTFS" может ссылаться - shell в Linux. Так вот в исходниках bash нет ни слова 'pidon', ни слова 'pidof'.
Оставить комментарий
irinkina
Вопрос, никто не помнит, какой командой проверяется запущен процесс и существует у него в /var/run pid или нет.По типу pidon/pidof .
ls не предлагать .