base: provide pidof() shell function

master
Harald Hoyer 2013-07-23 12:33:45 +02:00
parent bc6eae15ab
commit 45ef8eb723
2 changed files with 26 additions and 1 deletions

View File

@ -927,6 +927,31 @@ wait_for_loginit()
rm -f -- /run/initramfs/loginit.pipe /run/initramfs/loginit.pid
}

# pidof version for root
if ! command -v pidof >/dev/null 2>/dev/null; then
pidof() {
local _cmd
local _exe
local _rl
local i
_cmd="$1"
[ -z "$_cmd" ] && return 1
_exe=$(type -P "$1")
for i in /proc/*/exe; do
[ -e "$i" ] || return 1
if [ -n "$_exe" ]; then
[ "$i" -ef "$_cmd" ] || continue
else
_rl=$(readlink -f "$i");
[ "${_rl%/$_cmd}" != "$_rl" ] || continue
fi
i=${i%/exe}
echo ${i##/proc/}
done
return 0
}
fi

_emergency_shell()
{
local _name="$1"

View File

@ -13,7 +13,7 @@ depends() {

install() {
local _d
dracut_install mount mknod mkdir pidof sleep chroot \
dracut_install mount mknod mkdir sleep chroot \
sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink setsid
inst $(command -v modprobe) /sbin/modprobe